Twitter の API に関するメモ

観測気球

収集物の記録書庫 a data archive of collection -- collectible toys

[要旨] Twitter の API を実際に使ってみて、これはメモっておかないといけない、と思ったあれこれをまとめてみました。
[キーワード] Twitter,クライアント,chirrup,まとめ

« 今週のお買い物 (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 (オプション)

Twitter の public timeline
今のところ、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 | 固定リンク | このエントリーをはてなブックマークに追加 | このエントリを del.icio.us に登録 このエントリの del.icio.us での登録状況 | このエントリを Buzzurl に追加このエントリの Buzzurl での登録状況 | このエントリをlivedoorクリップに登録 このエントリのlivedoorクリップでの登録状況 このエントリをlivedoorクリップに登録している人の数 | 酢鶏巡回中

楽天市場


Twitter」カテゴリ内の最近の記事

プログラミング」カテゴリ内の最近の記事

品揃え豊富で安い!NTT-X Store


アマゾンわくわく探検隊

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6737/14628825

この記事へのトラックバック一覧です: Twitter の API に関するメモ:

» JSONPのTwitterAPIを試してみました from blog.katsuma.tv
TwitterAPIでJSONがサポートされている、ということで自分の最新ひと... 続きを読む

受信: 2007.04.23 午前 02:11

» Twitter API 仕様書 (勝手に日本語訳シリーズ) from 観測気球
Twitter API 仕様書の勝手翻訳をしてみました。 続きを読む

受信: 2007.04.28 午後 08:25

» Twitter の favorites を API 経由で操作する方法 from 観測気球
Twitter の favorite を自作クライアントから操作する方法をまとめてみました。 続きを読む

受信: 2007.06.19 午前 05:52

コメント

コメントを書く




※イタズラ防止のため、メールアドレスを入力しないと投稿できません。

次からのコメント入力の手間を省くために、名前やメールアドレスをcookieに記憶しますか?


URL を入力すると、その URL にリンクがはられます。
なお、メールアドレスは公開されません。ご安心ください。


ワード

ニッセン

fujisan.co.jp

楽天市場