« 今週のお買い物 (2007.04.01~04.07) | トップページ | つぽは(BlogPet) »
2007.04.10
Twitter の API に関するメモ
Twitter の API を使うときに参考になりそうな情報をメモっておきます (あとできちんとしたものに書き直します。とりあえず、忘れないうちにメモっておくことが重要ということで)
基本的に、Twitter の API は決められた URI に対し、http の GET リクエストを BASIC認証で投げる形で使います。public_timeline の取得に関してのみ、認証は不要で、他の API は全て BASIC 認証になります。
また、URI の末尾が、.xml だと XML で応答が返ってきて、.json だと JSON で返ってきます。.rss や .atom もありますが、正式な API は .xml と .json のみで、.rss と .atom は現時点では正式なサポートはされていない(ことになっている)ようです。ちなみに、サーバから返すべきデータがない場合は、0x20 (空白文字) 1文字のみが返ってきます。
update に関しては、GET ではなく POST によるリクエスト発行も可能です。拙作のクライアント chirrup では、POST で試してみて駄目だったら GET するようにしていますが、ここ最近は POST によるリクエストも安定して使うことができています。
timeline の取得に関しては、JSON での取得の方が安定しています。XML での取得は、エラーになったり、先頭から4096バイトのところで尻切れトンボ状態になったり、いまいち信頼性に欠けています。いずれは安定するものと期待はしていますが、そういう現状ですので、JSON の方を使うのが無難でしょう。
あと、timeline の取得は、前回取得した日時を覚えておいて、次回リクエストは since パラメータで「この日時以降に投稿された発言を取得する」旨を明示的に指定した方がいいでしょう。since 指定せずにキャッシュに残っている timeline を毎回、全部取得しようとすると、とりこぼしが発生しやすくなります。毎回全取得はサーバにもやさしくないですし、サーバのことを考えて、リクエストは控えめにしましょう。
まだ、公式な API 解説には載ってませんが、以下のようなヘッダを使うことで、Twitter の中の人に自作クライアントの情報を伝えることができるようになっています。
- X-Twitter-Client: クライアント名 (必須)
- X-Twitter-Client-Version: クライアントの版数 (オプション)
- X-Twitter-Client-URL: クライアントに関する情報を格納したXMLのURI (オプション)
今のところ、twitterrific だけが特別扱いされて from twitterrific のように表示されている
上記のヘッダを http リクエスト時に送信することで、いずれは from Web や from IM の代わりに from クライアント名 と表示されるようになると思われます。今のところ、twitterrific が特別扱いされて from twitterrific のように表示されていますが、いつかは twitterrific 以外のクライアントの名前も表示されるようになるんじゃないかと、期待しています。
そして、「クライアントに関する情報を格納したXML」のフォーマットですが、以下のような形式になります。
<?xml version="1.0" encoding="utf-8" ?> <client> <name>クライアントの名前</name> <version>クライアントの版数</version> <author> <name>作者の名前</name> <email>作者のメールアドレス</email> <twitter>作者のTwitterスクリーン名</twitter> </author> <url>そのクライアントに関するWebページのURI</url> <twitter>そのクライアントのTwitterスクリーン名</twitter> <description><![CDATA[ そのクライアントに関する簡単な説明 ]]></description> </client>
ちなみに、chirrup の XML は
です。Chirrup というアカウント(スクリーン名)を用意しています。
参考
投稿者: tsupo 2007.04.10 午前 06:04 | 固定リンク | | | | |
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: Twitter の API に関するメモ:
» JSONPのTwitterAPIを試してみました from blog.katsuma.tv
TwitterAPIでJSONがサポートされている、ということで自分の最新ひと... 続きを読む
» Twitter API 仕様書 (勝手に日本語訳シリーズ) from 観測気球
Twitter API 仕様書の勝手翻訳をしてみました。 続きを読む
» Twitter の favorites を API 経由で操作する方法 from 観測気球
Twitter の favorite を自作クライアントから操作する方法をまとめてみました。 続きを読む