最近、巷で流行っているもので Twitter ってのがあるっぽい。
自分が何をやっているのかを公開するだけのWebアプリケーションのよーであるが、友人の情報などを共有できたりすることと、機能のシンプルさが受けているっぽい。
Twitter には API が提供されていて、APIを使って外部のサイトから Twitterの情報を更新したり、閲覧できたりするっぽい。APIについての詳細は API Documentation - Twitter Development Talk | Google グループ を参照するべし。
表示、更新などのひととおりの機能は揃っているので ブログパーツでも作ってみようかなと思ったのだが、APIを利用するには、ログインする際のE-Mailとパスワードなどが必要っぽいので、一般に提供するのはちょいと難しいと感じたっす(他のサイトのIDやパスワードを自分のサイトで管理するのはリスクが高いよね?)
さらに Twitter のサイトでは既にブログパーツ的に扱える Twitter Badge なるものが提供されているので、これを使えばよろしいと思われる。
なので、ここでは、提供されているAPIについてちょっと解説してみたりする。
(現在のところTwitter APIについては日本語の情報が結構少ないっぽい)
ちなみに、利用言語はなんでもよいのであるが、phpが最も簡単なのでphpのサンプルを掲載してみるっす。
この API はAPI Documentation を見るとお分かりの通り、curlを利用して認証し、情報を取得する。
また、Twitter APIでユーザのイロイロな情報を取得する際ユーザ固有に付けられているidという数値をキーにしてハンドリングを行っていく。
自分のidを知るための最も簡単な方法は、先ほどの Twitter Badge の Friends Timeline のHTMLソースを見るとわかる。下記のよーな記述がある。
flashvars="user_id=1234567&color1=0xFFFFCE& color2=0xFCE7CC&textColor1=0x4A396D& textColor2=0xBA0909&backgroundColor=0x92E2E5& textSize=10"
この部分が ユーザid になるっす。
本来はidを取得するにはAPIを利用する。で、取得したid情報を元に表示したりアップデートしたりするっぽい。
idを取得する際はcurlにログイン時のE-Mailとパスワードを渡してidを取得するよーだ。なので、PHP: CURL, Client URL Library 関数 - Manual が利用するWebサーバにインストールされていることを前提に話しを進める。
このあたりは、下記サンプルを見るとわかりやすいと思われる(コメントを見ると大凡なにをやっているかが理解できると思われるっす)。
Twitter APIをphpで利用するサンプル
基本はユーザのE-Mailとパスワードを夫々のエンドポイントに渡し、値をXMLデータやJSON形式で取得し、取得した値を加工することになる。利用できるメソッドは下記の通り(かっこの中身は取得できるフォーマット)。
■Status Methods (ステータス情報を取得)
・public_timeline (xml, json, rss, atom)
・friends_timeline (xml, json, rss, atom)
・user_timeline (xml, json, rss, atom)
・show (xml, json)
・update (xml, json)
■User Methods (ユーザ情報を取得)
・friends (xml, json, rss, atom)
・followers (xml, json, rss, atom)
・featured (xml, json)
・show (xml, json)
■Direct Message Methods(ダイレクトメッセージ情報を取得)
・direct_messages (xml, json, rss, atom)
・new (xml, json, rss, atom)
夫々にエンドポイントが存在するので、そこにcurlで情報を渡し、戻ってきた値を加工するよーなことをする。
サンプルでは戻り値をXML形式で戻し、Simple_XMLで処理しているっす。
サンプルの実行は上記でも記載したとおり、アカウント情報が必要になるため試すのは自分の環境でお試しいただければよいのだが、別のサンプルとして、りょーちのアカウント情報を埋め込んだ形で、上記のTwitter Badgeに似たよーなものもこんな風に作れるっす。
Twitter API、結構面白いな。