twitter / Apiの概要

twitter apiについて

ドキュメントURL [本家] : http://dev.twitter.com/doc/
[日本語訳] : http://watcher.moe-nifty.com/memo/docs/twitterAPI.txt
認証・制限など 一部のapiは、OAuth認証を必要とする。(2010/12/14時点)
概要 twitterの各種データにアクセスできる。

ここはなに?

twitterの各種apiをコールしたときに、具体的にどんな値が返ってくるのか一瞬で分かります。
キーの意味を知るよりも、実際にどんな値が入っているかを知るほうが理解しやすいと思います。

目的の値を見つけて、あぁこの値を取り出すのはこのキーだな、とそんな使い方を想定しています。

使い方

まずは、上のボタンからOAuth認証してください。(認証している場合は解除ボタンになります)
次は、このページの下にあるapiの一覧から目的っぽいページに移動しましょう。
パラメータをセットして、「call update」と書かれたボタンを押します。

百聞は一見にしかずです。 statuses/public_timelineに移動し、「call update」を押してみてください。

1つだけ注意があります。
当サイトで発行されるapi、特に更新系のapiにはご注意ください。
テストだと思って、statuses/updateを発行すると、あなたのtwitterにも反映されます。
OAuthでログインするアカウントにはご注意ください。

タイムライン関連

statuses/public_timeline

公開状態で自分のアイコンを設定しているユーザーの発言を最新から取得(最大20件)
API実行後60秒間は再リクエストをしてもキャッシュ(同一内容)が返ります。

statuses/home_timeline

本家web版twitterの「ホーム」タイムラインと同じ内容
自分とfriendのツイートを過去800件のうちの20件を取得

statuses/friends_timeline

自分のfriendの過去800件分のステータスを取得。
include_rts指定時は、最大20件。

statuses/user_timeline

自分の過去3200件分のステータスから最大20件(count引数使用時は最大200件)を取得する。
id, user_id, screen_name のいずれかの引数を指定すれば、そのユーザのステータスを取得できる

statuses/mentions

自分あての返信(@自身を含むツイート)を最大20件ずつ取得。
直近800件より古い発言にはアクセスできない。

statuses/retweeted_by_me

自分が投稿した retweet の一覧を取得する

statuses/retweeted_to_me

自分の friends が投稿した retweet の一覧を取得する

statuses/retweets_of_me

自分が投稿した発言のうち(自分以外の)誰かによって retweet されたものの一覧を取得する

ツイート関連

statuses/show

指定した ID のステータス(1件)を取得する

statuses/update

ステータスを更新する。 = ツイートする。
1日の上限は、他のクライアントやwebも含めて1ユーザー1000回まで。上限時403エラー。
同一内容は投稿できない。無視される。無視されたときの応答内容は最初に投稿した時の内容。

statuses/destroy

ステータス(ツイート)を削除する。

statuses/retweet

指定したステータス(投稿)を retweet (公式RT) する。

statuses/retweets

指定したステータスを retweet しているユーザのうち最初の100人分を取得

statuses/retweeted_by

指定したステータス(投稿)を retweets しているユーザー情報の一覧。

statuses/retweeted_by/ids

指定したステータス(投稿)を retweets しているユーザーIDの一覧を取得する。

ユーザ情報関連

users/show

指定したユーザーの詳細な情報を取得。
パラメータはいずれか1つ以上必要。
ただし、friendでない(フォローしていない)ユーザーの場合は失敗する。

users/lookup

指定したユーザーの詳細な情報を取得。
ユーザーは、カンマ区切りで最大100まで指定できる。
パラメータが長くなる時はPOST推奨。

users/search

条件に一致するユーザーを検索する。

users/suggestions

suggested user list のカテゴリ一覧を取得する。
認証不要。IPアドレス単位で制限あり

users/suggestions/twitter

suggested user list から指定したカテゴリの詳細を取得する。
認証不要。IPアドレス単位で制限あり

users/profile_image/twitter

このAPIはかなり特殊です!
formatに、jsonもしくはxmlを指定しますが、json、xmlの形式は返却されません。
代わりに、httpステータスコード302(リダイレクト)とともにhtmlが返却されます。
このAPIはアプリ開発者がプロフィール画像の存在を確認するためだけに使います。
このAPIで得られる結果をそのまま画面に表示する用途として使ってはいけません。
※翻訳に自信が無いので、英語版の本家ドキュメントでご確認ください。

statuses/friends

指定したユーザーのfriend(フォロー)の一覧を取得する。

statuses/followers

指定したユーザーのfollowers(フォロワー)の一覧を取得する。

トレンド関連

trends

twitter全体で人気のある話題を取得する。

trends/current

twitter全体で人気のある話題を取得する。
trendsと似ているが戻り値の形式が異なる。

trends/daily

twitter全体で人気のある話題を日付を指定して取得する。

trends/weekly

twitter全体で人気のある話題を週(日付)を指定して取得する。
指定するのは日付で、日付が含まれる週が対象となる。
指定した日の5日前から7日分が取得される様子。
(例) 2010-11-26 を指定。 2010-11-21 ~ 2010-11-27 まで。
一般的な「一週間」という表現とは異なる?

ローカルトレンド関連

trends/available

twitter全体で人気のある話題が存在する地域情報(国?)を取得する。
緯度、経度を指定すれば、その場所に近い順に取得。

trends/1

指定した地点で、人気のある話題を取得する。

list 関連

user/lists/create

List(リスト)を作成する。ユーザー1人につき20リストまで。

user/lists/id/update

List(リスト)を更新する。

user/lists

指定したユーザーのList(リスト)の一覧を取得する。

user/lists/id/show

指定したList(リスト)の詳細を取得する。

user/lists/id/destroy

指定したList(リスト)を削除する。
POSTメソッドで発行する際は、 _method パラメータが必要。
_method を省略してPOSTすると、/twitter/user/lists/id/update の扱いになる。

user/lists/id/statuses

指定したList(リスト)のタイムラインを取得する。

user/lists/memberships

指定したユーザーが登録されているList(リスト)の一覧を取得する。

user/lists/subscriptions

指定したユーザーが購読しているList(リスト)の一覧を取得する。

list のメンバー

user/list_id/members/get

指定したList(リスト)に登録されているユーザーの一覧を取得する。

user/list_id/members/post

指定したList(リスト)にユーザーを追加する。

user/list_id/create_all

指定したList(リスト)に、複数のユーザーをまとめて加える。

user/list_id/members/delete

指定したList(リスト)からユーザーを削除する。

user/list_id/members

指定したList(リスト)に、ユーザーが追加済みかどうか調べる。
登録済みならそのユーザーの情報が、未登録ならエラーが返る。

list の購読

user/list_id/subscribers/get

指定したList(リスト)を購読(フォロー)しているユーザーの一覧を取得する。

user/list_id/subscribers/post

指定したList(リスト)を購読(フォロー)する。

user/list_id/subscribers/delete

指定したList(リスト)の購読(フォロー)を解除する。

user/list_id/subscribers

指定したList(リスト)を、ユーザーが購読しているかどうか調べる。
購読しているならそのユーザーの情報が、未購読ならエラーが返る。

ダイレクトメッセージ

direct_messages

自分宛のダイレクトメッセージの一覧を取得

direct_messages/sent

自分が送信したダイレクトメッセージの一覧を取得

direct_messages/new

ダイレクトメッセージを送信する。
1日1000回まで。

direct_messages/destroy

指定したダイレクトメッセージを削除する。

フレンド関連

friendships/create

指定したユーザーをfriend(フォロー)する。
成功時 : ユーザーの情報が返る。
失敗時 : エラー内容が返る。
既にフォローしていた場合 : HTTPステータスコード 403 が返る。

friendships/destroy

指定したユーザーをfriend(フォロー)を解除する。
成功時 : 削除したユーザーの情報が返る。
失敗時 : エラー内容が返る。

friendships/exists

指定したユーザー2人のfriend(フォロー)の関係を取得。
true または false のみのいずれかが返って来る。

friendships/show

指定したユーザー2人の関係を詳しく取得する。

[※1]認証なしでコールする場合は次のパラメータのいずれかが必須
[※1]認証ありで次のパラメータを省略した場合、1人目は自分になる。
source_id / source_screen_name

[※2]いずれかが必須
target_id / target_screen_name

friendships/incoming

自身がprotected の時に使用。
自身に対してフォローリクエストをしているユーザーのうち、リクエストを保留しているユーザーの一覧。
自身が protected でなければ、空の一覧が返却される。

friendships/outgoing

相手がprotected の時、 自身がフォローリクエストを送り、保留にされたままのユーザー一覧。

ソーシャルグラフ関連

friends/ids

user_id / screen_name のいずれかで指定したユーザーが、フォローしているfriendsのユーザーID一覧。

パラメータ cursor は、将来「必須」になる予定とのこと。

followers/ids

user_id / screen_name のいずれかで指定したユーザーが、フォローされているユーザーのユーザーID一覧。

パラメータ cursor は、将来「必須」になる予定とのこと。

アカウント関連

account/verify_credentials

ログイン中であれば、HTTPステータスコード200とユーザーの情報が返る。
そうでなければ、HTTPステータスコード401とエラーメッセージが返る。
認証が有効化どうか調べるために使用する。

account/rate_limit_status

Apiの制限内容を取得。1時間内での残りapi回数など。
OAuth認証でアクセスすればユーザー単位。認証なしならばIPアドレス単位での制限情報。

account/end_session

無効なcookieを返して、セッションを終了する。
Basic認証?

account/update_delivery_device

自分の device を設定する
2010/12/15現在、error(68)が返る。

account/update_profile_colors

web版twitterの「設定」=>「デザイン」=>「デザインと色を変更する」を更新する。
色を、#fff形式、#ffffff形式のいずれかで指定する。
省略した箇所は変更されない。

account/update_profile_image

web版twitterの「設定」=>「プロフィール」=>「アイコン」を更新する。

account/update_profile_background_image

web版twitterの「設定」=>「デザイン」=>「背景画像」を更新する。

account/update_profile

web版twitterの「設定」=>「プロフィール」=>「名称、位置情報、Web、自己紹介」を更新する。
パラメータのうち1つ以上を指定。省略時は無視される。

お気に入り関連

favorites

指定したユーザーのお気に入り発言(favorites)を取得する。

favorites/create

指定した発言をお気に入りにする。

favorites/destroy

指定した発言のお気に入りを外す。

「指定デバイス」関連

notifications/follow

指定したユーザーの発言を「指定デバイス」に送信する。
※指定するユーザーは、friendになっていること
user_id または screen_name のいずれか1つ指定すること。

notifications/leave

指定したユーザーの発言を「指定デバイス」への送信を解除する。
user_id または screen_name のいずれか1つ指定すること。

ブロック関連

blocks/create

指定したユーザーをブロックする。
指定ユーザーが、friend なら同時にfriendも解除される。
user_id または screen_name のいずれか1つを指定すること。

blocks/destroy

指定したユーザーのブロックを解除する。
user_id または screen_name のいずれか1つを指定すること。

blocks/exists

指定したユーザーをブロックしているかどうか調べる。
user_id または screen_name のいずれか1つを指定すること。
ブロックをしていない、もしくは、アカウントが存在しない場合は、HTTP404が返る。
ブロックしている場合は、ユーザの情報が返ってくる。

blocks/blocking

自分がブロックしているユーザーの一覧を取得。

blocks/blocking/ids

自分がブロックしているユーザーIDの一覧を取得。

spam 報告関連

report_spam

指定したユーザーをスパマーとして報告する。
同時にブロックする。
user_id または screen_name のいずれか1つを指定すること。

検索条件保存

saved_searches

保存されている検索クエリの一覧を取得する。

saved_searches/show

指定した検索クエリの詳細を取得する。

saved_searches/create

指定した検索クエリを保存する。

saved_searches/destroy

指定した検索クエリを削除する。

OAuth関連

oauth/request_token

リクエストトークンを取得する。
本api(OAuth関連)は、ライブラリなどが配布されているので「OAuth」で検索エンジンで探すことをオススメします。

oauth/authorize

ユーザーにアクセス許可を求めます。
OAuthでよく見られるtwitterに転送して許可を求めるページのURLになります。
本api(OAuth関連)は、ライブラリなどが配布されているので「OAuth」で検索エンジンで探すことをオススメします。

oauth/authenticate

ユーザーにアクセス許可を求めます。
webアプリ向けのapiです。
OAuthでよく見られるtwitterに転送して許可を求めるページのURLになります。
本api(OAuth関連)は、ライブラリなどが配布されているので「OAuth」で検索エンジンで探すことをオススメします。

oauth/access_token

アクセストークンを取得します。
本api(OAuth関連)は、ライブラリなどが配布されているので「OAuth」で検索エンジンで探すことをオススメします。

位置情報関連

geo/nearby_places

/geo/nearby_places は現在推奨されていません。代わりに geo/search を使います。(2010/12/16確認)
指定した地域のエリア情報を取得する。
いずれかのパラメータ1つ以上必要。
アメリカ合衆国内にしか対応していない様子。

geo/search

指定した地域のエリア情報を取得する。
アメリカ合衆国内にしか対応していない様子。

geo/similar_places

指定した座標の近くで、類似した場所の候補を取得する。
アメリカ合衆国内にしか対応していない様子。

geo/reverse_geocode

経度緯度から指定した地域のエリア情報を取得する。
アメリカ合衆国内にしか対応していない様子。

geo/id/place_id

指定した場所の詳細情報を取得する。
アメリカ合衆国内にしか対応していない様子。

geo/place

指定した座標に新しい場所を登録する。
アメリカ合衆国内にしか対応していない様子。

規約API

legal/tos

Twitterの利用規約を返す。
※開発者利用規約ではないことに注意。
※このapiは、callback引数をつけてjsonをコールしても、jsonテキストとして返ってくる。(2010/12/16確認)

legal/privacy

Twitterのプライバシーポリシーを返す。
※このapiは、callback引数をつけてjsonをコールしても、jsonテキストとして返ってくる。(2010/12/16確認)

補助API

help/test

twitterが稼動しているか調べる。
稼動していれば、"ok" の文字列とともに、HTTP200が返る。

検索関連

search

twitter全体を検索して、一致する発言を返す。
このapiは問題を抱えています。
検索結果の to_user_id と from_user_id を信用しないでください。
他のapiで使われる user_id とは無関係です。
正確な user_id を得るには、 検索結果の screen_name (from_user) を基に users/show を実行して得る必要があります。