twitterの変更前にOAuth認証を導入して、自分のツイートを取得するメモ

3月5日の変更前に、php+OAuth認証を使って自分のツイートを取得できるように準備しておきましょう。

下準備として、Twitter Developersのページで、表示させるtwitterアカウントでアプリケーション登録をし、『Consumer key』『Consumer secret』『Access token』『Access token secret』を取得します。

Twitter Developers
 ↓
新しくアプリケーションを登録
Create an application | Twitter Developers
・Name:mytweeetdesuyo(適当でok)
・Description:自分のツイートを表示させるんです(適当でok)
・Website: 自分のサイトのURL
を記入して登録。
 ↓
登録完了「OAuth settings」の『Consumer key』『Consumer secret』をコピーして保存して、ページ下の「Create my access token」をクリック
 ↓
すると「Your access token」の下に『Access token』『Access token secret』が表示されるので、これを保存しておく。
 ↓
下準備完了!

php側は、以前はPEARを使っていたんですが、今回は「abraham/twitteroauth」を利用させてもらいます。

abraham/twitteroauth · GitHub

利用するファイルはダウンロードしたファイルを解凍した中の「twitteroauth」フォルダの中はOAuth.php、twitteroauth.phpの2つ。

以下自分のツイートをjson形式で出力するサンプル。

//読み込むファイルはtwitteroauth.phpのみでok。パスは環境にあわせて変更してくださいな。
require_once("twitteroauth/twitteroauth.php");
 
$consumerKey = "保存したConsumer key";
$consumerSecret = "保存したConsumer secret";
$accessToken = "保存したAccess token";
$accessTokenSecret = "保存したAccess token secret";
 
$twObj = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret);
//JSON形式で情報を取得 varは1.1に
$request = $twObj->OAuthRequest("https://api.twitter.com/1.1/statuses/user_timeline.json","GET",array("count"=>"10"));
$twJsonData = json_decode($request);

header("Content-Type: application/json; charset=utf-8");
echo $twJsonData;

json形式で取得しているためjson_decodeを利用しますが、万が一使えない場合は下記ページを参考にJsphonを利用してみてください。

Jsphonをcodereposにアップロードしました。 – 株式会社RYUS

あとはキーがところどころ変わってたりするようなので、jsonデータを確認しながら、javascriptでいじるなり、phpで整形して出力するなりしてくださいな。

REST API v1.1 Resources | Twitter Developers

jQueryでAjaxチャット

jQueryの$.ajax触りがてら、$.getJSONも使ってAjaxチャットを作ってみました。

jQueryでAjaxチャット

チャットは今まで一回も作ったことがなかったので今イチやりかたがわからなかったんですが、やっぱりがつがつデータをとりにいくしかないようでsetTimeoutを使いました。一応IBMのページに書いてあったように更新されたデータだけを取りにいくようにしたけど、PHP側を修正する必要があるな…。

しかしチャットは結構難しいですね。今回はめっちゃ簡単なものにしているので完成度はかなり低いですが、インタフェイスや仕様を本気で考えるとなかなか骨が折れそうなかんじです。

今回は簡易チャットということで仕様もあまり決めず適当に作ってしまったので、動作不良が多々あるやもしれませんが、まあせっかく作ったので公開してみます。(今回も初心者まるだしのソースなので見たい方は直接ソースをのぞいてやってください。)

参考ページ
Ajax と XML: チャットのための Ajax

jQueryで楽天検索

先日の「jQueryでAmazon検索」に引き続き楽天検索ページを作ってみました。

jQueryで楽天検索

【楽天ウェブサービス】RAKUTEN WEBSERVICE」を利用し、PHPでデータを取得しjQueryで処理をさせています。

前回のAmazon検索では「xml形式」でデータを取得していましたが、今回は「json形式」でデータを取得しています。ついでに「timeout:3000」のパラメータを追加し、3秒以内に結果が返ってこない場合はエラーになるようにしてみました。

$.ajax、それにしても便利ですね!成功、エラー、タイムアウト等の処理もパラメータを設定することで簡単にできてしまいます。

Amazonか楽天APIを利用して、なんかサイトつくってみようかな?

参考ページ
$.ajax(options) [ jQuery ] – StackTrace
[Think IT] 第1回:JSONってなにもの? (1/3)