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