Twitterの『Profile Widget』をPHPで表示してみた。
というわけでツイッターの『プロフィール ウィジェット』を PHPからツイートを引っ張ってきて表示する仕組みを作りました。 きっかけはIE9で表示出来なくなったという障害。 以前も興味本位で簡単に作りましたが本格的に実装しました。
通常は外部.jsをHTMLから読み込んで表示しますが、今回は『Twitter API』というのをPHPから使います。 これのメリットは今回の障害のような不具合や仕様変更の影響を受けにくい、 外部.js(外部.css)を読み込まないので表示が速い、 表示に使うHTML及びCSSを好きにいじれるといった点です。
デメリットはAPIの実行回数制限がある、認証が必要な場合があるなど。 後者は他所で調べてもらうとして前者の対策は簡単です。 ツイートを読み取った時に内容をファイルに保存して 表示の際にそのファイルを参照するようにすればいいのです。
読み取り&保存と表示を分けることにより、閲覧者が直接APIにアクセスしなくて済むので 回数制限に引っかかりません。ただ、読み取り&保存を手動で実行する必要があります。 面倒なら『cron』で自動実行させることも可能ですが。自分は一日数回しかツイートしないので手動です。 ブラウザでスクリプトにアクセスするだけ。
仕様の内容は以下の翻訳を参考にさせて頂きました。感謝!
Twitter API 仕様書 日本語訳 第五十版 (2010年8月12日版)
サンプルコードは下記参照。