API 仕様書を噛み砕いた
タイムライン関連のAPI 【メソッド一覧】
| statuses/public_timeline | 公開(かつ、自分のアイコンを設定済みの)ユーザの最新のステータス(発言)を取得する (最大20件)この API のみ BASIC認証は不要この API を実行してから60秒間、応答結果がキャッシュされる(60秒以内に再度リクエストを行なった場合は、同一の応答が返る) |
|---|---|
| statuses/home_timeline | 自分と自分の friend の過去24時間以内に update されたステータス(retweetを含む)から最大20件(count引数使用時は最大200件)を取得する。 |
| statuses/friends_timeline | 自分の friend の過去24時間以内に update されたステータスから最大20件(count引数使用時は最大200件)を取得する。引数 id を指定すれば、その id のユーザの friend のステータスを取得できる |
| statuses/user_timeline | 自分の過去24時間以内に update されたステータスから最大20件(count引数使用時は最大200件)を取得する。id, user_id, screen_name のいずれかの引数を指定すれば、そのユーザのステータスを取得できる |
| statuses/replies | 自分に対する返信(冒頭が @ユーザ名 で始まるステータス)の一覧を取得する (最大20件)なお、現時点では、自分が他のユーザに対して行なった返信の一覧を取得する API は用意されていない。 |
| statuses/mentions | 自分に対する言及(@ユーザ名 が含まれるステータス)の一覧を取得する (最大20件) |
| statuses/retweeted_by_me | 自分が投稿した retweet の一覧を取得する (最大20件) |
| statuses/retweeted_to_me | 自分の friends が投稿した retweet の一覧を取得する (最大20件) |
| statuses/retweets_of_me | 自分が投稿した発言のうち(自分以外の)誰かによって retweet されたものの一覧を取得する (最大20件) |
ステータス関連のAPI 【メソッド一覧】
| statuses/show | 指定した ID のステータス(1件)を取得する |
|---|---|
| statuses/update | 自分のステータスを更新(update)する。 引数 status は必須。この API は必ず POST を使って発行すること。update が成功した場合は、format で指定した形式で応答が返る |
| statuses/destroy | ステータスを削除する。 ステータスIDの指定は必須。削除が成功した場合は、format で指定した形式で応答が返る |
| statuses/retweet | 指定したステータスを retweet する。 ステータスIDの指定は必須。retweet が成功した場合は、format で指定した形式で応答(retweet 元のステータスと、retweet 結果)が返る |
| statuses/retweets | 指定したステータスを retweet しているユーザの一覧のうち最初の100人分を取得する |
ユーザ情報関連のAPI 【メソッド一覧】
| statuses/friends | 自分の friend の一覧を(各 friend の最新ステータス付きで)取得する id, user_id, screen_name のいずれかの引数を指定すれば、そのユーザの friend の一覧を取得できる。ただし、この API で取得できるデータは最大100件(100人分)である |
|---|---|
| statuses/followers | 自分の follower の一覧を(各 follower の最新ステータス付きで)取得する |
| statuses/featured | 現在、Twitter に login 中のユーザの一覧を(最新ステータス付きで)取得する(最大20人分) |
| users/show | 指定ユーザに関する詳細な情報を取得する。 ただし、指定ユーザが自分の friend でない場合、この API の実行は失敗する("You are not authorized to see this user." という応答が返る)。 |
ダイレクトメッセージ関連のAPI 【メソッド一覧】
| direct_messages | 自分宛てのダイレクトメッセージの一覧を取得する (最大20件) |
|---|---|
| direct_messages/sent | 自分が送信したダイレクトメッセージの一覧を取得する (最大20件) |
| direct_messages/new | ダイレクトメッセージを送信する。 宛先と本文の指定は必須。この API は必ず POST を使って発行すること。送信が成功した場合は、format で指定した形式で応答が返る |
| direct_messages/destroy | ダイレクトメッセージを削除する。 メッセージIDの指定は必須。削除が成功した場合は、format で指定した形式で応答が返る |
フレンド関連のAPI 【メソッド一覧】
| friendships/create | 指定ユーザを自分の friend (following) にする id, user_id, screen_name のいずれかの引数を必ず指定すること |
|---|---|
| friendships/destroy | 指定ユーザを自分の friend (following) から外す id, user_id, screen_name のいずれかの引数を必ず指定すること |
| friendships/exists | 指定した2ユーザの間の friend 関係を調べる |
| friendships/show | 指定した2ユーザの間の関係を詳細に調べる 調査対象となる「関係」はfollowing (follow しているかどうか) followed_by (follow されているかどうか) notifications_enabled (IM での購読対象にしているかどうか)の3つ |
ソーシャルグラフ関連のAPI 【メソッド一覧】
| friends/ids | 自分の、あるいは指定したユーザが follow しているユーザ(friends)のID一覧(配列)を取得する |
|---|---|
| followers/ids | 自分を、あるいは指定したユーザを follow しているユーザ(followers)のID一覧(配列)を取得する |
アカウント関連のAPI 【メソッド一覧】
| account/verify_credentials | (BASIC認証による)セッションを開始する。認証に成功すると HTTP 200 OK の応答とともに当該ユーザに関する情報(と cookie)が返る。 認証に失敗するとステータスコード 401 の応答とエラーメッセージが返る。 |
|---|---|
| account/end_session | verify_credentials で開始したセッションを終了する(本API実行後、空の cookie が返る) この API はウィジェットのようなクライアントで簡易ログイン/ログアウトを実現する目的で使うことを想定している |
| account/archive | 自分の最新の発言80件を取得する。取得結果は発言日時の降順で格納される |
| account/update_location | 自分の profile の location 欄に表示する情報を更新する (新たに追加された update_profile API でも更新可能) |
| account/update_delivery_device | 自分の device を設定する |
| account/update_profile_colors | Twitter 上の自分の profile ページの色を設定する |
| account/update_profile_image | 自分の profile ページの画像(ユーザアイコンとしても使用される)を設定する 画像は multipart/form-data 形式のデータとして送信すること |
| account/ update_profile_background_image |
自分の profile ページの背景画像を設定する 画像は multipart/form-data 形式のデータとして送信すること |
| account/rate_limit_status | 自分の「API 制限状況」(この1時間以内にあと何回APIを実行できるか)を取得する。 本APIの実行自体はAPI制限の対象外である(何回でも実行できる)ただし、このAPIを BASIC 認証なしで実行した場合は、API 実行要求元のIPアドレスを対象とした「API 制限状況」が返る |
| account/update_profile | Twitter 上の自分の profile ページの色を設定する |
お気に入り関連のAPI 【メソッド一覧】
| favorites | 自分または指定したユーザの favorites(お気に入り) に登録されている「発言」のうち、最新のものから最大20件取得する |
|---|---|
| favorites/create | 指定ステータスを自分の「お気に入り」に登録する。 |
| favorites/destroy | 指定ステータスを自分の「お気に入り」から外す。 |
IM関連のAPI 【メソッド一覧】
| notifications/follow | 指定ユーザ(following)の発言を IM に送信するようにする id, user_id, screen_name のいずれかの引数を必ず指定すること |
|---|---|
| notifications/leave | 指定ユーザ(following)の発言を IM に送信するのをやめる id, user_id, screen_name のいずれかの引数を必ず指定すること |
IM関連のAPI 【メソッド一覧】
| blocks/create | 指定ユーザをブロックする。指定ユーザが friend だった場合、friend から外した上でブロックする id, user_id, screen_name のいずれかの引数を必ず指定すること |
|---|---|
| blocks/destroy | 指定ユーザのブロックを解除する id, user_id, screen_name のいずれかの引数を必ず指定すること |
| blocks/exists | 指定したユーザをブロックしているかどうかを調べる。 ブロックをしていない場合、あるいは当該ユーザアカウントが存在しない場合は 404 Not Found が返る。 ブロックをしている場合は、当該ユーザの情報(http://twitter.com/users/show/id.format で返ってくる情報と同じ形式)が返る。 id, user_id, screen_name のいずれかの引数を必ず指定すること |
| blocks/blocking | 自分がブロックしているユーザの一覧を取得する |
| blocks/blocking/ids | 自分がブロックしているユーザのID一覧(配列)を取得する |
補助API 【メソッド一覧】
| help/test | 成功すれば(Twitter が正常に稼動していれば)、"ok" という文字列を http ステータスコード 200 OK で返す |
|---|---|
| help/downtime_schedule | Twitter のメインテナンスが予定されるときに http://twitter.com/home に表示されるのと同じ文字列を指定formatで返す |
spam 報告関連のAPI 【メソッド一覧】
| report_spam | 指定ユーザをスパマーであると報告し、ブロックする id, user_id, screen_name のいずれかの引数を必ず指定すること |
|---|
OAuth関連 【メソッド一覧】
| oauth/request_token | リクエストトークンを取得する |
|---|---|
| oauth/authorize | [oauth/authorize の Webアプリケーション向け簡易版] ユーザが未ログイン状態、あるいは有効なアクセストークンを未取得の場合に限って、ユーザに(Webブラウザ経由で)アクセス許可を求める。 すでにログイン済みで、かつ、以前取得したアクセストークンがまだ有効であれば、ユーザにアクセス許可を求める画面を出すことなく、即座に oauth_verifier を返す。 (クライアントアプリケーションでは、本 API は使用できない) |
| oauth/authenticate | ユーザに(Webブラウザ経由で)アクセス許可を求める [本 URL を Web ブラウザに表示させ、ユーザの入力を待つ] |
| oauth/access_token | アクセストークンを取得する |
検索関連のAPI 【メソッド一覧】
| search | 指定した検索条件を満たす「発言」を返す。特に件数を指定しない場合は最大15件分の結果を返す |
|---|---|
| trends | いま、Twitter でホットな話題(最大10件)を取得する |
| trends/current | いま、Twitter でホットな話題(最大10件)を取得する (trends と trends/current とで、微妙に返ってくる結果のフォーマットが異なる) |
| trends/daily | 指定した日のホットな話題(最大20件)を取得する |
| trends/weekly | 指定した日を含む週のホットな話題(最大30件)を取得する |
検索条件保存 【メソッド一覧】
| saved_searches | 「(自分の)保存済みの検索条件」を返す (検索条件は、Web からの検索実行時に保存することができる他、saved_searches/create の実行により保存することができる) |
|---|---|
| saved_searches/show | IDで指定した「(自分の)保存済みの検索条件」を返す |
| saved_searches/create | 指定した「検索条件」を保存する |
| saved_searches/destroy | 指定した「保存済み検索条件」を破棄する |
ストリーミングAPI 【メソッド一覧】
| firehose | public な情報を全て取得する。 (REST API の statuses/public_timeline の「応答」中の status 要素に相当するものがストリームとして流れてくる) この API を使いたい人は、Twitter 関係者にコンタクトを取って欲しい。この API は特定の団体にのみ、契約を結んだ上で使用を許可している |
|---|---|
| gardenhose | public な情報のうち、データマイニング・各種調査用アプリケーション向けにサンプリング・最適化したものを取得する。 この API は特定の団体にのみ、契約を結んだ上で使用を許可している |
| sample | public な情報のうち、ある一定割合のものを取得する (gardenhose の精度の悪いバージョン。要するに、全てのデータが得られる保証はない。データ抜けがある可能性がある) |
| birddog | ID で指定したユーザの public な情報を取得する (private 設定しているユーザの情報は取得できない) この API では、「言及」(@ユーザ名 が文中に含まれる「発言」)と明示的な「返信」(@ユーザ名 で始まる「発言」)は取得できない この API を使うことで、最大 400000 ユーザの発言を追いかけることができる この API は特定の団体にのみ、契約を結んだ上で使用を許可している |
| shadow | ID で指定したユーザの public な情報を取得する (private 設定しているユーザの情報は取得できない) [birddog の規模縮小版] この API を使うことで、最大 80000 ユーザの発言を追いかけることができる |
| filter | 1件以上のフィルターを設定し、絞り込んだ情報(public な情報に限定)を取得する (birddog, shadow の精度の悪い版) |
| retweet | retweet されているステータスをすべて取得する (まだ、現時点では retweet ストリームは用意されていないので、本 API は利用不可) |