■昨年までTwitterと連動して、というのは大げさだけどAPIを叩いて適時情報を取り出していた。しかし、twitterは何回かAPIを更新して、そうこうするうちにこちらのI/Fはすっかり古びてしまい、連携できなくなってしまった。電子工作にかかりきりでそちらまで手が回らなかったり、バックアップ・リストアがうまくできなかったりとか、いろいろあって時間がとれないでいたのだけど、最近になって余裕もできて、対応することにした。
いろいろおさらいしなければなあとPHPのtwitter oAuthライブラリの使い方から、と改めて調べてみたら、最近はもっと簡単なライブラリがあったのでした。codebird.phpという単一のライブラリで、利用するスクリプトの先頭でrequireするだけで使える。
扱い方もシンプルで、要はTwitter APIをラップしているだけのスクリプトということになる。
codebird.phpはGitHubで公開されているけれど、gitでfetchするまでもなく、単一ファイルなのでコピー&ペーストで持ってきても十分間に合う。
ちょっと面倒なのはoAuthのシーケンスで、codebirdのGitHubページにある利用方法は間違ってはいないけど少し紛らわしい。
Codebird::setConsumerKey('YOURKEY', 'YOURSECRET');
とあるけど、ここでセットするのはアプリケーションの鍵と秘密鍵のペアで、アプリケーションのインスタンスを初期化した後に実行する
$cb->setToken('YOURTOKEN', 'YOURTOKENSECRET');
では、ユーザーのトークンと秘密鍵のペアになる。
oAuthの認証シーケンスが解っていればなんということもないのだけど、全部'YOUR'とあるのでなんだか紛らわしい。後はTwitter API名とcodebirdのメソッド名のマッピングルールが解れば、後はTwitter APIのドキュメントを参照すればいい。
わかりにくいのはAPIからの応答情報で、Custom Object形式になっているので扱いにくい。arrayにキャストしてやってから連想配列として扱える。
ただ、解ってしまえば簡単で、自分のタイムラインを取得したり、自分のツイートだけを取り出したり、あるいはツイートを投稿したりなどはさして迷うこともなくコーディングできた。個々のツイートには発言者のプロファイル情報がいちいち埋め込まれているので、タイムラインを表示させる時の取捨選択がちょっと面倒でしたが、それは以前のAPIでも同じこと。