Twitterを100%骨までしゃぶり尽くす活用術

HOME >

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 は利用不可)