twitter API 自分用まとめ

こちらを読んで、自分に必要な部分だけを抜き出してまとめてみました。
気が向いたら適当に追加します。

全般

HTTPステータスコード
200 成功
304 新しい情報なし
400 API実行制限にひっかかった等の理由でリクエスト却下
401 認証失敗
403 権限のないAPIの実行を試みた(followingでないprotectedなユーザの情報を取得しようとした、など)
404 存在しないAPIの実行や、存在しないユーザに対するAPIの実行など
500 twitter側の問題
502 twitterサーバが落ちているかメンテ中
503 twitterの負荷が大きすぎてさばききれない
APIの実行制限
  • 150回/1h.
  • 認証の必要なものはユーザID単位、認証不要なものはIP単位。
  • twitterの開発者にコンタクトをとって許可がおりれば、20000回/1hまで制限を緩和できる。
  • rate_limit_status により制限の実施状況を調査可能。
    • twitter の web クローラを真面目に実装しようと思ったら API を使うのは現実的ではないと思われる。
その他
  • search 系 API で返ってくるユーザIDとその他一般の twitter API で扱っているユーザIDは別にナンバリングされている。
  • 任意のユーザに対する言及を取得したい場合は search を使うしかない。

rate_limit_status

概要
  • 自分の「API 制限状況」(この1時間以内にあと何回APIを実行できるか)を取得する
  • このAPIを BASIC 認証なしで実行した場合は、API 実行要求元のIPアドレスを対象とした「API 制限状況」が返る
url http://twitter.com/account/rate_limit_status.format
format xml,json
制限 なし
レスポンスデータフォーマット(JSON形式)
reset-time string
remaining-hits int
hourly-limit int
reset-time-in-seconds int

friends

概要
  • 自分の、あるいは指定したユーザが follow しているユーザ(friends)のID一覧(配列)を取得する
  • いくつか書き方があるが、ここでは2通りの方法を紹介する。
url http://twitter.com/friends/ids/screen_name.format
screen_name ユーザ名
format xml,json
制限 あり
url http://twitter.com/friends/ids.format?user_id=uid
uid ユーザID
format xml,json
制限 あり
レスポンスデータフォーマット(JSON形式)
  • 本当にぼんとIDが並んだ配列だけ返されてくる。

user/show

概要
  • ユーザ情報を取得する。
url http://twitter.com/users/show/screen_name.format
screen_name ユーザ名。IDそのまま入れても可
format xml,json
制限 あり
レスポンスデータフォーマット(JSON形式)
  • 本当はもっとたくさんあるが自分に必要な部分しか抜き出していない。
id int ユーザID
screen_name string @xxで表されるユーザ名
profile_image_url string プロフィールアイコンのURL
created_at string ユーザ作成日時
statuses_count int つぶやきの数
friends_count int フォローしている人の数
followers_count int フォロワーの数
protected string 許可ユーザ以外に見せないような設定にしているかどうか。設定していなければ false