*Twitter API version1 [#ba4189a7]
-[[Link/Twitter]]

#contents

**総括 [#summary]
***API書式 [#api_format]
:format|APIコール時の拡張子で取得するデータ形式を指定する。~
xml,json,rss,atom などがあるがAPIごとに対応が違うためめんどくさい。~
json と xml は大体対応している。~
また、一部拡張子を必要としないものもある。~
:「:引数名」の展開|/ で切り分けられたパス内の : で始まる名前の部分は引数と考える。~
公式仕様書に書かれているのでこれに習うことにする。~
たとえば「statuses/:id/retweeted_by」はステータスIDを指定する id 引数をその部分に与えて~
 http://api.twitter.com/1/statuses/99999/retweeted_by.json
のようにAPIをコールする。~


***実行制限 [#limit]
-[[公式 Twitterリミットについて>http://support.twitter.com/groups/31-twitter-basics/topics/114-guidelines-best-practices/articles/249071-twitter-x30ea-x30df-x30c3-x30c8-x306b-x3064-x3044-x3066-x6295-x7a3f-x3001-api-x3001-x30c0-x30a4-x30ec-x30af-x30c8-x30e1-x30c3-x30bb-x30fc-x30b8-x3001-x30d5-x30a9-x30ed-x30fc]]
-[[TweenWiki API制限とは何ですか?>http://sourceforge.jp/projects/tween/wiki/API%E5%88%B6%E9%99%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6]]

:アプリケーションの制限|APIへの実行アプリケーションの登録時に Read/Write/DM の利用範囲を設定します。~
Read はダイレクトメッセージ以外の情報の閲覧、~
Write はダイレクトメッセージ以外の情報の改変(削除・更新)、~
DM はダイレクトメッセージの閲覧・改変が許可されます。~

:APIリクエスト|API制限のあるメソッドは未認証ならIPアドレスごとに1時間あたり最大150回の実行まで、~
認証済みならアカウントごとに1時間最大350回までを個別に実行できます。~
APIコールのHTTPレスポンスヘッダで現在のリミットが参照できる。~
|HTTPレスポンスヘッダ|内容|h
|LEFT:||c
|~X-RateLimit-Class:| "api_identified"|
|~X-RateLimit-Limit:|1時間にAPIを実行できる最大回数 "350"|
|~X-RateLimit-Remaining:|1時間にAPIを実行できる残り回数 "236"|
|~X-RateLimit-Reset:|次の残り回数リセット時間(UNIXタイムスタンプ) "1304578001"|
~
検索API
|HTTPレスポンスヘッダ|内容|h
|LEFT:||c
|~X-FeatureRateLimit-Class:| "namesearch"|
|~X-FeatureRateLimit-Limit:|1時間にAPIを実行できる最大回数 "60"|
|~X-FeatureRateLimit-Remaining:|1時間にAPIを実行できる残り回数 "59"|
|~X-FeatureRateLimit-Reset:|次の残り回数リセット時間(UNIXタイムスタンプ) "1304580441"|

:投稿制限|statuses/update, statuses/retweet は1日最大1000件の投稿まで~
ただし、1日ごとに制限がかかるのではなく時間で区切られもっと細かく制限されます。~
direct_messages/new は1日最大250件の投稿まで。~
また、&color(red){ダイレクトメッセージは自分をフォローしている相手だけに送ることができます。};~
自分が相手をフォローしているかどうかは関係ありません。~
フォローされていない相手に DM を送ることはできません。~
:重複投稿制限|同一内容の連続投稿は無視される。~
同一ステータスの retweet は無視される。~
:フォロー制限|1日あたり最大1000件まで~
現在のフォロー数(friends_count)2000を越えるアカウントは一定基準で制限される。~
(あまりフォローされていないのに大量のフォローは無理)~
:アカウント設定の変更|1時間に最大4回。~

***意味のある文字列(URL、タグ、言及) [#entities_string]
これらは include_entities オプションで送られる entities 情報として取得できます。~
:言及 mentions|ステータス本文中の「@ユーザ名」はそのユーザへの関連発言とみなされます。~
ユーザ名は「http://twitter.com/ユーザ名」で本人のページが開かれるあれです。~
APIでは screen_name と呼ばれています。~
「これは@SCREEN_NAMEへの言及です」のように区切りがないと「への言及です」もユーザ名の一部と解釈されます。~
ちゃんと半角スペースで区切りましょう。~
また、言及を意味する記号「&color(blue){@};」は全角「&color(blue){@};」でも解釈されます。これも注意が必要です。~
形式が似ているためメールアドレスの一部が言及に解釈されてしまうおそれがあります。~
:ハッシュタグ|ステータス本文中の「#タグ名」はその名前の分類を意味します。~
タグ名自体は公式な定義はありませんが、企業やイベントなどでタグ名が考案されユーザがそれに習う形が多いです。~
名前規則は2011年7月ごろまでは半角英数字が望ましいとされていましたが~
現在はマルチバイト文字による日本語ハッシュタグも有効になっています。~
こちらも半角ハッシュ記号「&color(blue){#};」と全角「&color(blue){#};」から半角スペースまでの文字列をハッシュタグと解釈します。~
URLのアンカー名と形式が似ているためURLの一部がハッシュタグに解釈されてしまうおそれがあります。~
:リンク文字列|ステータス本文中の http://twitter.com/ のようなURLも特別な意味と解釈され、公式WEBでは自動的にリンクが張られます。~
以前、リンクへの自動変換の汚染チェックが不完全だったためウィルスに感染することもありましたが現在は対処されているようです。~
アフィリエイトリンクなどによるスパム行為が目立つため URL を含む投稿はチェックされています。~
あまりに多用すると一時的にアカウント凍結を受けることもあるので注意が必要です。~
2011年8月ごろからツイートやDM内のURLが自動的に http://t.co/ で始まる公式の短縮URLが適用されてしまうようになりました。~
このため、entities データを参照するなどして t.co を展開する必要もでてきました。~

***発言内の自動URL変換 [#fb510329]
2011年ごろからつぶやき発言中のURLらしい文字列を自動的に補完してURLにするようになった。~
URL認識されれば entities 情報にも追記される。~
たとえば「google.co.jp」を「http://google.co.jp」に~
「command.com」を「http://command.com」に補完する。~
しかし command.com のようなコマンドファイル名ですら~
URLにされてしまい望ましくない。~
回避するためには半角クォートや半角ダブルクォートで囲み~
"command.com" とつぶやくことで自動変換はされなくなる。~
クォート以外でも変換されないものもあるが、多くはされてしまうし~
引用符としてわかりやすいのでクォートを使うほうが望ましいだろう。~

***古い機能 [#old]
-[[廃止された機能>#api_deprecated]]

***新しい機能 [#new]
:include_rts 引数|ステータスに retweet を含むように指定する
 statuses/user_timeline
 	任意のユーザの行った retweet を含む。
 	rss atom フォーマットではデフォルトで retweet を含む
 statuses/friends_timeline
 	任意のユーザのフレンドの retweet を含む
 statuses/mentions
 	フレンドの retweet を含む
 lists/statuses
 	リストのメンバーの retweet を含む
~
 statuses/home_timeline
 	指定なしでも retweet を含む
:include_entities 引数|ステータス情報に entities というキー名の詳細情報を取得できる。~
URL、ユーザ名、ハッシュタグを明確にする。~
たとえば「#hashtag1 @uten_dev #hashtag2 #hashtag3 http://foo.bar/ http://twitter.com/」のentities 情報は~
 {
   "urls":[
     {"indices":[40,55],"url":"http:\/\/foo.bar\/","expanded_url":null},
     {"indices":[56,75],"url":"http:\/\/bit.ly\/twttr","expanded_url":null}
   ],
   "hashtags":[
     {"text":"hashtag1","indices":[0,9]},
     {"text":"hashtag2","indices":[20,29]},
     {"text":"hashtag3","indices":[30,39]}
   ],
   "user_mentions":[
     {"indices":[10,19],"screen_name":"uten_dev","id_str":"17085288","name":"\u3046\u3066\u3093dev","id":17085288}
   ]
 }
indices はステータス本文の文字列の(@や#を含む)開始オフセットと~
終了オフセット−1(該当文字列が終わった次のオフセット)。~
expanded_url には t.co で短縮前の元URLが入る。~
:trim_user 引数|ステータス情報に含まれる投稿者のユーザ情報をユーザIDのみにする。~
この引数に true t 1 のどれかをセットすると user キー内の情報は id,id_str の2つだけになる。~
screen_name(ユーザ名)も入らないので注意。~

***HTTPステータスコード [#status_code]
|~ステータスコード|~意味|h
|LEFT:||c
|~200 OK|成功|
|~302 Found|リダイレクト。大抵 Location ヘッダで移動先URLが明示される|
|~304 Not Modified|新しい情報はない|
|~400 Bad Request|API の実行回数制限や投稿回数制限に引っ掛かった、などの理由でリクエストを却下した|
|~401 Not Authorized|認証失敗。OAuth認証のsignatureやtime引数が間違っている、など|
|~403 Forbidden|権限がないAPI を実行しようとした。同一内容の発言を投稿した。protected なユーザの情報を非フォロワーが取得しようとした、など|
|~404 Not Found|存在しない API を実行しようとしたり、存在しないユーザやステータスを指定した|
|~500 Internal Server Error|Twitter 側で何らかの問題が発生している。主に&color(red){ロボ画像状態};|
|~502 Bad Gateway|Twitter のサーバが止まっている、あるいはメンテ中。もしくは&color(red){くじら画像状態};|
|~503 Service Unavailable|Twitter のサーバの負荷が高すぎて、リクエストを捌き切れない状態になっている。&br;主にメンテ。もしくは&color(red){くじら画像状態};|

***HTTPヘッダ [#http_header]
:Content-Type|データ取得時に得られる Cotent-Type ヘッダ。~
ただし、text/xml のように「type/subtype」が必ずしも一緒とは限らないので注意が必要。~
|~形式|~MIME Type|h
|~XML|application/xml|
|~JSON|application/json|
|~RSS|application/rss+xml|
|~ATOM|application/atom+xml|
|~HTML|text/html|
なお、 oauth/request_token などで取得するURLエンコードされたフォームデータ形式は~
Content-Type が「application/x-www-form-encoded」だとよかったのだが~
実際は「text/html」として返ってくるようで区別しにくい。~


**タイムライン関連のAPI [#api_timeline]

***GET statuses/home_timeline [#home_tl]
自分と自分の friend の過去800件分の retweet を含むステータスから20件(最大200件)を取得する。~
home_timeline は、http://twitter.com/home で表示される timeline の内容に相当する。~
friends_timeline との違い~
|~home_timeline|friends_timeline|h
|retweetを含む|include_rtsを指定しなければ&br;retweetを含まない|
|id 指定できない|id 指定できる|

:URL|
 GET http://api.twitter.com/1/statuses/home_timeline.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/mentions [#mentions]
自分に対する過去800件分の言及(@ユーザ名 が含まれるステータス)から20件(最大200件)を取得する。~
旧仕様の statuses/replies のように「@ユーザ名 」で始まるリプライのみを抽出するには~
ステータス内容で仕分けするしかないだろう。~
include_rts 引数はあるが、これをセットしてもうまく取得できない?~

:URL|
 GET http://api.twitter.com/1/statuses/mentions.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_rts=true (または include_rts=t, include_rts=1) (オプション)|本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/user_timeline [#user_tl]
指定ユーザの過去3200件分のステータスから20件(最大200件)を取得する。~
ユーザを未設定の場合は自分のステータスを取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/user_timeline.format
 format=json, xml, rss, atom
&color(blue){rss または atom 指定時は、取得結果に retweets が含まれる。};~
&color(blue){xml または json 指定時は、取得結果に retweets がデフォルトでは含まれない。include_rts引数を指定すれば含まれる。};~

:認証|不要~
ただし、protected な非公開ユーザのステータスは~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
指定したユーザのステータスを取得する。~
::user_id=ユーザID (オプション)&br;screen_name=ユーザ名 (オプション)|対象のユーザを指定する。未設定なら自分自身が対象になる。
::%%since=日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した日時以降に update されたステータスを取得する~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_rts=true (または include_rts=t, include_rts=1) (オプション)|本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/retweeted_by_me [#retweeted_by_me]
自分が retweet したステータスから20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweeted_by_me.format
 format=json, xml, atom
 
:認証|必要

:API制限|適用対象

:引数|

::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/retweeted_to_me [#retweeted_to_me]
自分の friend が retweet したステータスから20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweeted_to_me.format
 format=json, xml, atom

:認証|必要

:API制限|適用対象

:引数|

::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/retweets_of_me [#retweetes_of_me]
自分以外の誰かによって retweet された自分のステータスから20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweets_of_me.format
 format=json, xml, atom

:認証|必要

:API制限|適用対象

:引数|

::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/retweeted_to_user [#retweeted_to_user]
指定ユーザの friend が retweet したステータスから20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweeted_to_user.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。~
&color(red){<公式仕様書にはユーザID指定が id と表記されているが誤植と思われる。実際 user_id で問題なく動く>};~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET statuses/retweeted_by_user [#retweeted_by_user]
指定ユーザが retweet したステータスから20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweeted_by_user.format
 format=json, xml
 
:認証|必要

:API制限|適用対象外

:引数|

::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。~
&color(red){<公式仕様書にはユーザID指定が id と表記されているが誤植と思われる。実際 user_id で問題なく動く>};~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


**ステータス関連のAPI [#api_tweet]

***GET statuses/:id/retweeted_by [#retweeted_by]
指定したステータスを retweet しているユーザのうち最大100人分のユーザ情報を取得する

:URL|
 GET http://api.twitter.com/1/statuses/:id/retweeted_by.format
 format=xml, json

:認証|不要

:API制限|適用対象外

:引数|

::id=ステータスID (必須)|retweet しているユーザの一覧を取得したいステータスのIDを指定する
::count=ユーザ件数 (オプション)|一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで100件)とみなしてユーザを取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***GET statuses/:id/retweeted_by/ids [#retweeted_by_ids]
指定したステータスを retweet しているユーザのうち最大100人分のユーザIDを取得する

:URL|
 GET http://api.twitter.com/1/statuses/:id/retweeted_by/ids.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::id=ステータスID (必須)|ユーザID一覧を取得したい retweet されたステータスのIDを指定する
::count=ユーザ件数 (オプション)|一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで100件)とみなしてユーザを取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

//:観測気球訳者による注記|
//2010年3月末に、実際に1000人以上の人が retweet しているステータスに関して本APIの実行を count=100 で試みてみたところ、2ページ目以降は取得に失敗することが多かった。
//2ページ目以降の取得に成功した場合でも、最大で8ページ目(count=100&page=8)までしかたどれなかった。どこまでたどれるかは、サーバーの負荷に大きく依存するようである。

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***GET statuses/retweets/:id [#retweets]
指定したステータスを retweet しているユーザの一覧のうち最初の100人分を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/retweets/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::id=ステータスID (必須)|retweet しているユーザの一覧を取得したいステータスのIDを指定する
::count=ユーザ件数 (オプション)|一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***GET statuses/show/:id [#statuses_show]
指定した ID のステータス(発言)1件を取得する。~

:URL|
 GET http://api.twitter.com/1/statuses/show/:id.format
 format=xml, json

:認証|不要~
ただし、protected な非公開ユーザのステータスは~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::id=ステータスID (必須)|指定した ID のステータスを取得する
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件


***POST statuses/update [#statuses_update]
自分のステータス(発言)を投稿する。~
投稿に成功した場合はそのステータスを返す。~
「follow ユーザ名」「f ユーザ名」「/follow ユーザ名」「/f ユーザ名」~
「leave ユーザ名」「l ユーザ名」「/leave ユーザ名」「/l ユーザ名」~
などの発言で送れていたフォロー/リムーブ用コマンドは使えなくなりました。~
現在はダイレクトメッセージ用のコマンドだけ使えるようです。~
 dm ユーザ名 発言
 d ユーザ名 発言
 /dm ユーザ名 発言
 /d ユーザ名 発言
この形式でDMを送る場合、返ってくるのは今送ったダイレクトメッセージ情報ではなく、~
&color(red){最後にツイートしたステータス情報なので注意が必要です。しかも成功していなくても返ってきます。};~
DM を正しく送るには direct_message メソッドを使うほうが確実です。~

:URL|
 POST http://api.twitter.com/1/statuses/update.format
 format=xml, json

:認証|必要

:API制限|適用対象外~
ただし、同一発言の連続投稿はエラーとなる。~
投稿は1日最大1000件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)~
上限に到達すると、それ以降は 403 エラーが返るようになる。~

:引数|

::status=ステータス (必須)|ステータス(発言)を指定する。~
ステータスは 140文字以内におさめ、必ず URL エンコードすること。~
140文字を超えるステータスを投稿しようとした場合は、403エラーを返す。~
::in_reply_to_status_id=ステータスID (オプション)|返信(reply)対象のステータスIDを指定する。どのステータスに対する返信か明示するのに使用する。~
存在しない、あるいはアクセス制限のかかっているステータスIDを指定した場合は無視される。~
発言中に対応する「@ユーザ名」が含まれない、あるいは指定したユーザそのものが存在しない場合、本引数は無視される。~
::lat=緯度 (オプション)|投稿しようとしている発言に関する位置情報のうち、「緯度」を指定する~
「-90.0 〜 +90.0」 の範囲の値を指定する (正の値の場合「北緯」、負の値の場合「南緯」)~
範囲外の値を指定した場合、geo_enabled が disabled(使用しない) に設定されている場合、~
あるいはlong引数が指定されていない場合、本引数は無視される~
緯度は小数点以下8桁まで指定可能~
::long=経度 (オプション)|投稿しようとしている発言に関する位置情報のうち、「経度」を指定する~
「-180.0 〜 +180.0」 の範囲の値を指定する (正の値の場合「東経」、負の値の場合「西経」)~
範囲外の値を指定した場合、geo_enabled が disabled(使用しない) に設定されている場合、~
あるいはlat引数が指定されていない場合、本引数は無視される~
経度は小数点以下8桁まで指定可能~
::place_id=geocode (オプション)|geo/reverse_geocode で取得した geocode を使って、位置情報を指定する
::display_coordinates=true (オプション)&br;display_coordinates=false (オプション)|緯度、経度を表示するかどうか指定する。~
未設定ではデフォルトで「表示する」となる。これは後方互換性のため。~
正確な緯度、経度を表示させたくない場合は false を指定すること (表示されなくなるだけで、位置情報自体は Twitter 内に保存される)~
(注意: 現在は、本引数がまだ機能していないので、位置情報付きで投稿した発言については、位置情報がそのまま表示されてしまう~
[display_coordinates=true を指定したのと同じ状態])~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~
::source=クライアント名 (オプション)|&color(red){<この引数は公式仕様書には存在しない>};~
ステータスの投稿に使用しているクライアント名を指定する。~
「クライアント名」をOAuth アプリケーション登録用のWebフォームから申請することで、本オプションを指定しての投稿時、Twitter の Webページ上に“from クライアント名”付きで発言が掲載されるようになる。~
OAuth 認証による API 実行時は、本引数は無視される(OAuth アプリケーション登録時のアプリケーション名、URLが自動的に適用、掲載される)。~
なお、本引数は公式のAPI仕様書には掲載されていない。~
参考: 2009年7月1日以降、未登録のアプリケーションによる API 経由での投稿に関して、from web ではなく、from API と表示されるようになった~
:contributors=ユーザID[,ユーザID,……] (オプション)|&color(red){<この機能は現在のところ実験段階であり誰でも使えるわけではありません>};~
企業アカウントのような組織的アカウントを複数人で使う場合に投稿したユーザを明示します。~
半角 , で区切ったユーザIDとして渡します。その一例が http://twitter.com/twitterapi/status/7680619122 です。~

:応答|

::成功|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件
::発言が140文字以上|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Status is over 140 characters.」(403)

:位置情報 geo-tag|プロフィールの「ツイート位置情報」のチェックを入れると geo_enabled キーの値が true になり~
geo キーの値がセットされてステータスに位置情報を含めるようになります。~
位置情報は緯度 -90(北緯)〜90(南緯)、経度 -180(西経)〜180(東経)の浮動小数値で示します。~
XML形式のステータス情報は GeoRSS([[http://georss.org/Main_Page>http://georss.org/Main_Page]])、JSON形式では GeoJSON([[http://geojson.org/>http://geojson.org/]]) を利用します。~
GeoJSONでは本来座標は (経度,緯度) で表現しますが2011年5月現在 (緯度,経度) の表現になっています。~
これは TwitterAPI の version 2 では直される予定です。~
保存されている位置情報はプロフィールの設定で一括削除できます。~


//***POST statuses/update_with_media [#statuses_update_media] <new>


***POST statuses/retweet/:id [#statuses_retweet]
指定したステータスを retweet する。ステータスIDの指定は必須。~
retweet が成功した場合は、format で指定した形式で応答(retweet 元のステータスと、retweet 結果)が返る~
同一内容の retweet を連続して投稿しようとした場合、最初の投稿以外は無視される。~
また、自分の発言を自分で retweet しようとした場合も、無視されてしまう。~
retweet に成功すると以下の形式で指定ステータスの内容が text 要素に入る。~
140文字を越えた場合は省略される。~
 RT @ユーザ名: 発言

:URL|
 POST http://api.twitter.com/1/statuses/retweet/:id.format
// PUT http://api.twitter.com/1/statuses/retweet/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象外~
ただし、一定時間辺りの実行回数上限が設定されている。~
投稿は1日最大1000件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)~
上限に到達すると、それ以降は 403 エラーが返るようになる。~

:引数|

::id=ステータスID (必須)|retweet したいステータスIDを指定する
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件


***POST statuses/destroy/:id [#statuses_destroy]
自分のステータスを削除する。ステータスIDの指定は必須。~
削除が成功した場合は、format で指定した形式で応答が返る。~
また、自分がretweetしたステータスも削除するが、~
retweetした元ステータスIDは他人のものなので削除できない。~

:URL|
 POST http://api.twitter.com/1/statuses/destroy/:id.format
// DELETE http://api.twitter.com/1/statuses/destroy/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::id=ステータスID (必須)|削除したいステータスのIDを指定する。
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件


//***GET statuses/oembed [#statuses_oembed] <new>


**検索関連のAPI [#api_search]
***GET search [#search]
指定した検索条件を満たす「発言」を返す。特に件数を指定しない場合は最大15件分の結果を返す
&color(red){検索結果情報のユーザID (from_user_id および to_user_id)」は他のメソッドで使われているユーザIDとは違う。};~
ユーザ名は同じなのでこれに users/lookup などを通して実際のユーザIDを取得するしかない。~
「検索関連のAPI」を使用するアプリケーションは http リクエストヘッダで User Agent を明示すること。=
User Agent が明示されていない場合、通常より厳しい API 制限を行なうことがある。~

:URL|
 GET http://search.twitter.com/search.format
 format=json, atom

:認証|不要

:API制限|適用対象

:引数|

::q=検索条件 %%または phrase=検索語句&検索条件%% (必須)|検索条件(検索したいキーワード等)を指定する。~
キーワード等はURLエンコードすること。URLエンコードされた状態で140文字以内におさめること。~
検索条件は、http://search.twitter.com/advanced のフォームで使っているのと同じものが使用可能。~
検索条件は、https://twitter.com/search-advanced のフォームで使っているのと同じものが使用可能。~
実際には「」は含まない。~
 「条件1 条件2」		条件のAND演算(両方の条件に当てはまった発言)
 「条件1 OR 条件2」	条件のOR演算(どちら片方、もしくは両方に当てはまった発言)
 「-条件」		条件の否定。この条件を除外する
 「"単語1 単語2"」	「単語1 単語2」「単語1_単語2」「単語1-単語2」などのフレーズにマッチする。「単語2 単語1」は除外。
 			また、半角スペースを含むアプリ名などをフレーズでまとめて指定できる。
 「from:ユーザ名」	このユーザが投稿した発言
 「-from:ユーザ名」	このユーザが投稿していない発言
 「to:ユーザ名」		このユーザへのリプライ。つまり先頭の「@ユーザ名 」から始まる発言
 「-to:ユーザ名」	このユーザへのリプライ以外の発言。
 「@ユーザ名」		このユーザへの言及(mentions)。つまり内容に「@ユーザ名」を含む発言
 「-@ユーザ名」		このユーザへの言及(mentions)以外の発言。
 「#タグ名」		このハッシュタグを含む発言
 「-#タグ名」		このハッシュタグを含まない発言
 
 「filter:links」	URLを含む発言のみ。
 「-filter:links」	URLを含まない発言。
 「include:links」	URLも含む発言。
 「exclude:links」	URLを含まない発言。
 
 「filter:hashtags」	ハッシュタグを含む発言のみ。
 「-filter:hashtags」	ハッシュタグを含まない発言。
 「include:hashtags」	ハッシュタグも含む発言。
 「exclude:hashtags」	ハッシュタグを含まない発言。
 
 「filter:replies」	リプライを含む発言のみ。
 「-filter:replies」	リプライを含まない発言。
 「include:replies」	リプライも含む発言。
 「exclude:replies」	リプライを含まない発言。
 
 「filter:retweets」	公式/非公式retweetを含む発言のみ。
 「-filter:retweets」	公式/非公式retweetを含まない発言。QT形式は含む。
 「include:retweets」	公式/非公式retweetも含む発言。(デフォルト)
 「exclude:retweets」	公式/非公式retweetを含まない発言。QT形式は含む。
  
 「source:アプリ名」	このアプリケーション(クライアント)で投稿された発言。
 			公式Webは「Web」ツイートボタンは「tweet_button」
 「-source:アプリ名」	このアプリケーション(クライアント)で投稿されていない発言。
 「lang:言語コード」	この言語の発言のみ。「lang:ja」で日本語の発言。
 「until:YYYY-MM-DD」	指定日付以前の発言。YYYY-MM-DD形式で年月日を指定。
 「since:YYYY-MM-DD」	指定日付以後の発言。YYYY-MM-DD形式で年月日を指定。
 「place:opentable:ID」	OpenTableIDで指定した地域からの発言(地域情報を送っている人のみ)
 「place:geocode」	geocodeで指定した地域からの発言(地域情報を送っている人のみ)
 「near:地域」		その地域の発言。「near:Tokyo」など。APIでは使えない。関係ない発言が拾われることもある?
 「within:距離」		nearと組み合わせる。その地域から指定距離内の発言。「within:15km」など。APIでは使えない。

::callback=コールバック関数名 (オプション)|コールバック関数名を指定する。~
format に JSON を指定したときのみ指定可能でこの名前の関数を JSONP 形式で取得できるようになる。~
::lang=言語コード (オプション)|検索対象となる「言語」を指定する。この言語で書かれた発言を検索する。~
「言語」は ISO 639-1 掲載の文字列で指定すること。~
日本語なら "ja" 英語なら "en"。[[参照>http://www.wdic.org/w/WDIC/ISO%20639]]~
::locale=言語コード (オプション)|検索条件を送る「言語」を指定する。(現在は "ja" のみ有効)~
固有言語のクライアントのために用意されています。~
::rpp=ステータス数 (オプション)|一度に取得する検索結果の数を取得する。最大 100 まで指定可能。未設定なら 15。
::page=ページ番号 (オプション)|1ページを rpp 件(デフォルトで15件)とみなして過去の発言を取得する。最新ページは 1。~
(rpp * page で遡れるのは、最大1500件まで)~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::%%since=YYYY-MM-DD形式の日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
検索結果のうち、指定した日付以降に投稿された発言のみを返す。2011年5月現在、まだ使える。~
::until=YYYY-MM-DD形式の日時 (オプション)|検索結果のうち、指定した日付以前に投稿された発言のみを返す。
::geocode=位置情報 (オプション)|指定した緯度・経度、半径(その緯度・経度から半径何マイル[mi]/キロメートル[km]以内か指定可能)で為された「発言」のみを検索対象とする
(注意: この位置情報(緯度・経度)は、Twitter のユーザのプロフィールに設定されている情報ではなく、Geotagging に対応した API 経由で取得したものになる
[Twitter では、位置情報(geo引数)を含む形で投稿された発言から、その位置情報を取り出し、データベースに格納している])
 例
 http://search.twitter.com/search.atom?geocode=40.757929%2C-73.985506%2C25km
 北緯40.757929度、西経73.985506度の地点から半径25km以内で為された「発言」を Atom 形式で取得する
::show_user=true (オプション)&br;show_user=false (オプション)|&color(red){<何故か反映されていない>};~
true を指定すると「発言」の先頭に「ユーザ名: 」が付加される。デフォルトでは false。~
::result_type=recent (オプション)&br;result_type=popular (オプション)&br;result_type=mixed (オプション)|欲しい検索結果の種類を指定する。「種類」には、以下の3つがある。~
現在のデフォルトは recent だが将来的に mixed になる予定。~
|LEFT:||c
|~recent|「新しい発言」を優先的に検索結果に含める|
|~popular|「人気の高い発言」を優先的に検索結果に含める(公式RTされた発言ほど人気が高いとみなされるらしい)|
|~mixed|「新しい発言」と「人気の高い発言」の両方を適度に検索結果に含める|

:応答|[[検索結果一覧 results>WebService/Twitter/API/DataBlock#results]]


**検索条件保存 [#api_saved_searches]
***GET saved_searches [#saved_searches]
自分が公式の検索やAPIから保存していた検索条件を返す。~

:URL|
 GET http://api.twitter.com/1/saved_searches.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|なし

:応答|[[検索条件情報 saved_searches>WebService/Twitter/API/DataBlock#saved_searches]] 配列


***GET saved_searches/show [#saved_searches_show]
IDで指定した自分の保存済みの検索条件を返す。~

:URL|
 GET http://api.twitter.com/1/saved_searches/show/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::id=検索条件ID (必須)|指定した ID の検索条件を取得する

:応答|[[検索条件情報 saved_searches>WebService/Twitter/API/DataBlock#saved_searches]] 1件


***POST saved_searches/create [#saved_searches_create]
指定した検索条件を保存する。~

:URL|
 POST http://api.twitter.com/1/saved_searches/create.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::query=検索条件クエリー (必須)|保存したい検索条件を指定する。~

:応答|[[検索条件情報 saved_searches>WebService/Twitter/API/DataBlock#saved_searches]] 1件


***POST saved_searches/destroy [#saved_searches_destroy]
指定した「保存済み検索条件」を破棄する

:URL|
 POST http://api.twitter.com/1/saved_searches/destroy/:id.format
 DELETET http://api.twitter.com/1/saved_searches/destroy/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::id=検索条件ID (必須)|削除したい検索条件IDを指定する。

:応答|[[検索条件情報 saved_searches>WebService/Twitter/API/DataBlock#saved_searches]] 1件



//**ストリーミング関連のAPI [#api_streaming] <new>



**ダイレクトメッセージ関連のAPI [#api_dm]
***GET direct_messages [#dm_received]
自分宛てのダイレクトメッセージの一覧を20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/direct_messages.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::%%since=日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した日時以降に届いたダイレクトメッセージを取得する~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=メッセージ件数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ダイレクトメッセージ情報 direct_message>WebService/Twitter/API/DataBlock#direct_message]] 配列


***GET direct_messages/sent [#dm_sent]
自分が送信したダイレクトメッセージの一覧を20件(最大200件)を取得する。~

:URL|
 GET http://api.twitter.com/1/direct_messages/sent.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::%%since=日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した日時以降に送信したダイレクトメッセージを取得する~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=メッセージ件数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ダイレクトメッセージ情報 direct_message>WebService/Twitter/API/DataBlock#direct_message]] 配列


//GET ***direct_messages/show/:id [#dm_show] <new>


***POST direct_messages/new [#dm_new]
ダイレクトメッセージを送信する。宛先と本文の指定は必須。~
送信が成功した場合は、format で指定した形式で応答が返る。~

:URL|
 POST http://api.twitter.com/1/direct_messages/new.format
 format=json, xml

:認証|必要

:API制限|適用対象外~
ただし、同一発言の連続投稿はエラーとなる。~
投稿は1日最大250件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)~
上限に到達すると、それ以降は 403 エラーが返るようになる。~
(当分の間) 位置情報は、投稿から7日経過した時点で削除される。~

:引数|

::%%user=ユーザID または user=ユーザ名 (必須)%%|&color(red){<公式仕様書ではすでに削除されている>};~
ダイレクトメッセージの宛先を指定する。~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::text=本文 (必須)|ダイレクトメッセージの本文を指定する。必ず URL エンコードすること。本文は140文字以内におさめること。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ダイレクトメッセージ情報 direct_message>WebService/Twitter/API/DataBlock#direct_message]] 1件


***POST direct_messages/destroy/:id [#dm_destroy]
ダイレクトメッセージを削除する。メッセージIDの指定は必須。~
削除が成功した場合は、format で指定した形式で応答が返る。~

:URL|
 POST http://api.twitter.com/1/direct_messages/destroy/:id.format
 DELETE http://api.twitter.com/1/direct_messages/destroy/:id.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::id=メッセージID (必須)|削除したいダイレクトメッセージのIDを指定する
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ダイレクトメッセージ情報 direct_message>WebService/Twitter/API/DataBlock#direct_message]] 1件



**フレンドとフォロワーのAPI [#api_friends_followers]
***GET friends/ids [#friends_ids]
自分もしくは指定ユーザがフォローしているユーザのID一覧を一度に最大5000件取得する。~
friends の中に「アカウント停止中のユーザ(suspended users)」が含まれる場合、5000件より少ない件数の一覧が返る。~

:URL|
 GET http://api.twitter.com/1/friends/ids.format
 format=json, xml

:認証|不要~
ただし、protected な非公開ユーザの friends は~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した ID またはユーザ名のユーザが follow しているユーザのID一覧を取得する
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::%%page=ページ番号 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
(1ページを5000件とみなしたときの)ページ番号を指定することで、follow しているユーザのID一覧を5000件単位で取得する
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
ページ番号は 1 始まりとする
::cursor=-1 または cursor=カーソル位置 (オプション)|&color(red){<将来的に必須となる予定>};~
現在は省略できるが、正しい結果を返すとは限らない。~
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)

:応答|
::cursor指定時|[[ID一覧 ids>WebService/Twitter/API/DataBlock#ids]]
::cursor未指定&color(red){<将来的に廃止予定>};|[[ID情報 id>WebService/Twitter/API/DataBlock#ids]] 配列


***GET followers/ids [#followers_ids]
自分もしくは指定ユーザをフォローしているユーザのID一覧を一度に最大5000件取得する。~
followers の中に「アカウント停止中のユーザ(suspended users)」が含まれる場合、5000件より少ない件数の一覧が返る。~

:URL|
 GET http://api.twitter.com/1/followers/ids.format
 format=xml,json

:認証|不要~
ただし、protected な非公開ユーザの followers は~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した ID またはユーザ名のユーザを follow しているユーザのID一覧を取得する
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::%%page=ページ番号 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
(1ページを5000件とみなしたときの)ページ番号を指定することで、follow しているユーザのID一覧を5000件単位で取得する
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
ページ番号は 1 始まりとする
::cursor=-1 または cursor=カーソル位置 (オプション)|&color(red){<将来的に必須となる予定>};~
現在は省略できるが、正しい結果を返すとは限らない。~
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)

:応答|
::cursor指定時|[[ID一覧 ids>WebService/Twitter/API/DataBlock#ids]]
::cursor未指定&color(red){<将来的に廃止予定>};|[[ID情報 id>WebService/Twitter/API/DataBlock#ids]] 配列


//***GET friendships/no_retweet_ids [#friendships_no_retweet_ids] <new>


***GET friendships/incoming [#friendships_incoming]
自分が protected な非公開ユーザの場合、フォローリクエストを送ってきたユーザのうち~
リクエストを保留しているユーザID一覧(ID配列)を一度に最大5000件取得する。~
自分が非公開ユーザでない場合は空の配列が返る。~

:URL|
 GET http://api.twitter.com/1/friendships/incoming.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)~

:応答|[[ID一覧 ids>WebService/Twitter/API/DataBlock#ids]]


***GET friendships/outgoing [#friendships_outgoing]
自分がフォローリクエストを送った非公開ユーザのうち~
リクエストを保留されているユーザID一覧(ID配列)を一度に最大5000件取得する。~

:URL|
 GET http://api.twitter.com/1/friendships/outgoing.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)

:応答|[[ID一覧 ids>WebService/Twitter/API/DataBlock#ids]]


***GET friendships/show [#friendships_show]
指定した2ユーザの間の関係を詳細に調べる。~
source_id も source_screen_name も指定することなく認証なしで使った場合は HTTP レスポンスコード 403 が返る。~
1人目(source)もしくは2人目(target)の少なくともどちらか一方のアカウントが存在しない場合、HTTP レスポンスコード 404 が返る。~
source が自分自身ではない場合、source 要素内の notifications_enabled 要素は空になる。~

:URL|
 GET http://api.twitter.com/1/friendships/show.format
 format=xml, json

:認証|不要~
ただし source が省略されている場合には必要。~

:API制限|適用対象

:引数|

::source_id=ユーザID (オプション)&br;source_screen_name=ユーザ名 (オプション)|1人目のユーザAを指定する。認証済みで未設定にすると自分自身が対象になる。
::target_id=ユーザID (どれか1つは必須)&br;target_screen_name=ユーザ名 (どれか1つは必須)|2人目のユーザBを指定する。

:応答|[[フォロー関係情報 relationship>WebService/Twitter/API/DataBlock#relationship]] 1件


//***GET friendships/lookup [#friendships_lookup] <new>


***GET friendships/exists [#friendships_exists]
&color(red){<このメソッドは非推奨です。friendships/show を使ってください>};~
ユーザAがユーザBをフォローしているかどうかを判定する。~
format 形式に関係なく文字列の「true」か「false」が返ります。~
非公開ユーザは自分がフォローしている相手でなければ以下のAPIエラーが返ります。~
「You do not have permission to retrieve following status for both specified users.」~

:URL|
 GET http://api.twitter.com/1/friendships/exists.format
 format=xml, json

:認証|不要~
ただし、user_a や user_b が protected な非公開ユーザの場合は~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::user_a=ユーザID または ユーザ名 (必須)|ユーザA
::user_b=ユーザID または ユーザ名 (必須)|ユーザB

:応答|文字列「true」もしくは「false」


***POST friendships/create [#friendships_create]
指定ユーザを自分の friend (following) にする。~
成功すればフォローしたユーザ情報を返す。~

:URL|
 POST http://api.twitter.com/1/friendships/create.format
 format=xml, json

:認証|必要

:API制限|適用対象外~
ただし、一定時間辺りの実行回数上限が設定されている。~
1日辺り1000回まで (API による実行以外に、Web での実行、モバイルでの実行もカウント対象)~
上限に到達すると、それ以降は 403 エラーが返るようになる。~

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
friend にしたいユーザを指定する。~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|&color(red){<仕様書ではオプションとなっているが必須>};~
対象のユーザを指定する。~
::follow=true (オプション)|指定したユーザをfriendにすると同時に、そのユーザの発言を「指定デバイス」に送信するようにするかどうかを指定する
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


//***POST friendships/update [#friendships_update] <new>


***POST friendships/destroy [#friendships_destroy]
指定ユーザを自分の friend (following) から外す。~
成功すればフォローを解除したユーザ情報を返す。~

:URL|
 POST http://api.twitter.com/1/friendships/destroy.format
 DELETE http://api.twitter.com/1/friendships/destroy.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
friend から外したいユーザを指定する。~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|&color(red){<仕様書ではオプションとなっているが必須>};~
対象のユーザを指定する。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件



**ユーザ情報関連のAPI [#api_user]
***GET users/show [#users_show]
指定ユーザに関する詳細な情報を取得する。~

:URL|
 GET http://api.twitter.com/1/users/show.format
// GET http://api.twitter.com/1/users/show/id.format
 format=json, xml

:認証|不要~
ただし、protected な非公開ユーザの最新ステータスは~
閲覧許可されたユーザで認証を行う必要がある。~

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
情報取得対象となるユーザを指定する~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***GET users/lookup [#users_lookup]
複数のユーザに関する詳細な情報を取得する。~
ただし、この API で一度に取得できるデータは最大100件(100人分)である。~

:URL|
 GET http://api.twitter.com/1/users/lookup.format
 POST http://api.twitter.com/1/users/lookup.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::user_id=ユーザID[,ユーザID,……] (オプション)&br;screen_name=ユーザ名[,ユーザ名,……] (オプション)|1人以上の対象ユーザを指定する。複数指定する場合は半角コロン「,」で区切る。~
user_id 引数と screen_name 引数を同時に使うこともできる。~
引数で列挙するユーザID、ユーザ名の数が多い場合は POST による実行を推奨。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***GET users/profile_image/:screen_name [#users_profile_image]
指定ユーザのプロフィール画像を返す。~
このAPIはformat形式のデータではなく 302 リダイレクトとそこへのリンクHTMLを返す。~
Location ヘッダにオリジナルの画像URLを取得します。~
このメソッドはアプリケーション開発者による lookup や~
プロフィール画像URLの確認にだけ使われるべきです。~

:URL|
 GET http://api.twitter.com/1/users/profile_image/:screen_name.format
 format=json, xml

:認証|不要

:API制限|適用対象外

:引数|

::screen_name=ユーザ名 (必須)|
::size=サイズ (オプション)|画像サイズ bigger 73×73px、normal 48×48px、mini 24×24px。デフォルトでは normal。

:応答|リダイレクト先への画像URLへのリンクHTML(Location ヘッダにプロフィール画像URL)~
「<html><body>You are being <a href="プロフィール画像URL">redirected</a>.</body></html>」~


***GET users/search [#users_search]
指定条件に一致する Twitter ユーザを検索する。~
本APIで検索可能なのは、検索条件に一致する情報のうち、最初の1000件分までである~
Twitter公式サイトの「友だちを検索」での~
 http://twitter.com/search/users?q=検索文字列&category=people&source=find_on_twitter
に相当する。~
HTTP レスポンスヘッダ~
// X-FeatureRateLimit-Class: namesearch
 X-FeatureRateLimit-Limit
 X-FeatureRateLimit-Remaining
 X-FeatureRateLimit-Reset
で速度制限の状態を確認できます。~
これらは REST API 制限の X-RateLimit-*** ヘッダに相当しています。~

:URL|
 GET http://api.twitter.com/1/users/search.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::q=検索文字列 (必須)|探したいユーザの本名、ユーザ名、などを指定する
::per_page=件数 (オプション)|1ページ辺り何件の情報を取得するか指定する。指定できる最大件数は 20。デフォルトで 20 件と思われる。~
::page=ページ番号 (オプション)|(1ページを 20件 または per_page で指定した件数とみなしたときの)ページ番号を指定することで、指定ページ番号に相当する結果を取得する。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


//***GET users/contributees [#users_contributees] <new>
//指定したユーザが貢献できる組織アカウントのユーザ情報配列を返す


//***GET users/contributors [#users_contributors] <new>
//指定した組織アカウントに貢献できるユーザ情報配列を取得する。~



**カテゴリ関連 [#api_suggestions]
***GET users/suggestions [#users_suggestions]
公式の http://twitter.com/invitations/suggestions にある~
カテゴリの name と slug で構成されたカテゴリ一覧を取得する。~
たとえば [[音楽>http://twitter.com/invitations/suggestions/list-11]] なら「音楽」「list-11」をセットとした情報。~

:URL|
 GET http://api.twitter.com/1/users/suggestions.format
 format=json, xml

:認証|不要

:API制限|適用対象

:引数|なし

:応答|[[カテゴリ情報 suggestion(1)>WebService/Twitter/API/DataBlock#suggestion_1]] 配列


***GET users/suggestions/:slug [#users_suggestions_users]
Twitter の指定カテゴリ内のユーザ一覧を取得する。~

:URL|
 GET http://api.twitter.com/1/users/suggestions/:slug.format
 format=xml,json

:認証|不要

:API制限|適用対象

:引数|

::slug=カテゴリ識別子 (必須)|カテゴリを指定する。カテゴリは users/suggestions で取得したカテゴリ一覧に含まれるものの中から指定すること

:応答|[[カテゴリユーザ情報 suggestion(2)>WebService/Twitter/API/DataBlock#suggestion_2]] 1件


//***GET users/suggestions/:slug/members [#users_suggestions_members] <new>
//Twitter の指定カテゴリ内の公開ユーザ一覧を取得する。~



**お気に入り関連のAPI [#api_favorites]
***GET favorites [#favorites]
自分または指定したユーザの favorites(お気に入り) に登録されているステータスから20件(最大200件)を取得する。~
何故かこのメソッドだけ公式仕様書に古い id 引数を使っているが user_id や screen_name 引数などがちゃんと機能している。~

:URL|
 GET http://api.twitter.com/1/favorites.format
 GET http://api.twitter.com/1/favorites/:id.format
 format=xml, json, atom, rss

:認証|必要

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
指定したユーザのお気に入りステータスを取得する。~
::user_id=ユーザID (オプション)&br;screen_name=ユーザ名 (オプション)|&color(red){<公式仕様書には書かれていないが有効>};~
対象のユーザを指定する。未設定なら自分自身が対象になる。
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|&color(red){<公式仕様書には書かれていないが有効>};~
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|&color(red){<公式仕様書には書かれていないが有効>};~
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***POST favorites/create/:id [#favorites_create]
指定ステータスを自分の「お気に入り」に登録する。~
成功するとお気に入りに登録したステータス情報を返す。~

:URL|
 POST http://api.twitter.com/1/favorites/create/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::id=ステータスID (必須)|「お気に入り」に登録したいステータス(発言)を指定する
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件


***POST favorites/destroy/:id [#favorites_destroy]
指定ステータスを自分の「お気に入り」から外す。~
成功するとお気に入りを解除したステータス情報を返す。~

:URL|
 POST http://api.twitter.com/1/favorites/destroy/:id.format
 DELETE http://api.twitter.com/1/favorites/destroy/:id.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::id=ステータスID (必須)|「お気に入り」から外したいステータス(発言)を指定する
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 1件



**リスト関連のAPI [#api_lists]
2011/05 あたりで公式ドキュメントが新しい表記になったようだ。[[旧形式>http://dev.twitter.com/doc/post/:user/lists]] は廃止予定。~
試してみた限りでは http://api.twitter.com/1/:screen_name/lists/:list_id_or_slug.format のうち~
screen_name はユーザ名のみ有効、list_id_or_slug はリスト名(slug)とリストID(id)どちらも通った。~


***GET lists [#lists]
指定ユーザ自身が作成した list の一覧を最大20件取得する。~
自分の list の一覧を取得する場合は、非公開の list も一覧に含まれる。~

:URL|
 GET http://api.twitter.com/1/lists.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。~
必須とあるが省略すると今のところは自分が対象になる。~
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~

:応答|[[リスト情報一覧 lists>WebService/Twitter/API/DataBlock#lists]]


***GET lists/memberships [#lists_memberships]
指定したユーザが登録されている list の一覧を一度に最大20件取得する。~

:URL|
 GET http://api.twitter.com/1/lists/memberships.format
 format=xml, json

:認証|不要

:API制限|適用対象

:引数|

::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
::filter_to_owned_lists=true (オプション)&br;filter_to_owned_lists=t (オプション)&br;filter_to_owned_lists=1 (オプション)|API実行ユーザ自身の作成した list のみに限定する。講読している list は除外される。

:応答|[[リスト情報一覧 lists>WebService/Twitter/API/DataBlock#lists]]


***GET lists/subscriptions [#lists_subscriptions]
指定したユーザが講読している list の一覧を一度に最大20件取得する。~

:URL|
 GET http://api.twitter.com/1/lists/subscriptions.format
 format=xml, json

:認証|不要

:API制限|適用対象

:引数|

::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~

:応答|[[リスト情報一覧 lists>WebService/Twitter/API/DataBlock#lists]]


***GET lists/statuses [#lists_statuses]
指定した list に登録されているユーザの発言のみで構成されるタイムラインを取得する。~

:URL|
 GET http://api.twitter.com/1/lists/statuses.format
 format=xml, json, atom

:認証|不要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~
::include_rts=true (または include_rts=t, include_rts=1) (オプション)|本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***GET lists/show [#lists_show]
指定 list に関する情報を取得する。~
自分自身の list を取得する場合は、非公開の list であっても情報を取得可能である。~

:URL|
 GET http://api.twitter.com/version/lists/show.format 
 format=xml, json

:認証|不要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。

:応答|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件


***POST lists/create [#lists_create]
list を作成する。~

:URL|
 POST http://api.twitter.com/1/lists/create.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::name=リストの名前 (必須)|作成しようとしている list の名前を指定する。~
&color(blue){全角文字も使えるようになった。};~
::mode=public (オプション)&br;mode=private (オプション)|作成しようとしている list を公開(public)にするか、非公開(private)にするかを指定する。~
本引数を指定しない場合は public を指定したものとみなす。~
::description=説明 (オプション)|作成しようとしている list の説明文を指定する。説明文の長さは100文字まで。~
&color(blue){全角文字も使えるようになった。};~

:応答|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件


***POST lists/update [#lists_update]
指定 list の情報を更新する。~

:URL|
 POST http://api.twitter.com/1/lists/update.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::name=リストの名前 (オプション)|list の名前を、本引数で指定した名前に変更する。公式ドキュメントで削除されている?
::mode=public (オプション)&br;mode=private (オプション)|list を公開(public)にするか、非公開(private)にするかを指定する。~
本引数を指定しない場合は今までの状態(公開、もしくは非公開)が保存される(変更は行なわれない)~
::description=説明 (オプション)|list の説明文を指定する。説明文の長さは100文字まで。~
本引数を指定しない場合、説明文の変更は行なわれない。~
&color(blue){全角文字も使えるようになった。};~

:応答|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件


***POST lists/destroy [#lists_destroy]
自分の指定 list を削除する。~

:URL|
 POST http://api.twitter.com/1/lists/destroy.format 
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。

:応答|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件


//***lists/all [#lists_all] <new>

**リストの登録内容に関するAPI [#api_lists_members]
***GET lists/members [#lists_members]
指定した list に登録されているユーザの一覧を一度に最大20件取得する。~

:URL|
 GET http://api.twitter.com/1/lists/members.format
 format=xml, json

:認証|不要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ一覧 users>WebService/Twitter/API/DataBlock#users]]


***GET lists/members/show [#lists_members_show]
対象ユーザが list のメンバーであるかどうかを確認する。~
登録されている場合は、そのユーザに関する情報が返る。~

:URL|
 GET http://api.twitter.com/1/lists/members/show.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|

::成功|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件
::メンバーではないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「The specified user is not a member of this list」


***POST lists/members/create [#lists_members_create]
指定した自分の list にユーザを1人追加する。~
1つの list に最大500人まで登録できる。~

:URL|
 POST http://api.twitter.com/1/lists/members/create.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。

:応答|

::成功|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件
::存在しないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not found」(404)
::存在しないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Cannot find specified user」


***POST lists/members/create_all [#lists_members_create_all]
指定した自分の list に複数のユーザを最大100人まで追加できる。~
1つの list に最大500人まで登録できる。~
処理が多いため一部の登録を失敗してエラーコードを返すこともある。~
重複登録についてエラーは吐かないため、もう1度同じ処理を繰り返すとよい。~

:URL|
 POST http://api.twitter.com/1/lists/members/create_all.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::user_id=ユーザID[,ユーザID,……] (オプション)&br;screen_name=ユーザ名[,ユーザ名,……] (オプション)|1人以上の対象ユーザを指定する。複数指定する場合は半角コロン「,」で区切る。~

:応答|

::成功|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件~
&color(red){<重複登録や、存在しないユーザを指定しても成功してしまう>};~
::存在しないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not found」(404)


***POST lists/members/destroy [#lists_members_destroy]
指定した自分の list からメンバーを削除する。~

:URL|
 POST http://api.twitter.com/1/lists/members/destroy.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。

:応答|

::成功|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件
::存在しないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not found」(404)
::存在しないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Cannot find specified user」
::メンバーではないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「The user you are trying to remove from the list is not a member」


//***lists/members/destroy_all [#lists_members_destroy_all] <new>



**リストの講読に関するAPI [#api_list_subscribers]
***GET lists/subscribers [#lists_subscribers]
指定した list を講読しているユーザの一覧を一度に最大20件取得する。~

:URL|
 GET http://api.twitter.com/1/lists/subscribers.format
 format=xml, json

:認証|不要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ一覧 users>WebService/Twitter/API/DataBlock#users]]


***GET lists/subscribers/show [#lists_subscribers_show]
対象ユーザが、指定した list の講読者であるかどうかを確認する。~
講読している場合は、そのユーザに関する情報が返る。~

:URL|
 GET http://api.twitter.com/1/lists/subscribers/show.format
 format=xml, json

:認証|必要

:API制限|適用対象

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|

::成功|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件
::講読していないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「The specified user is not a subscriber of this list」(404)


***POST lists/subscribers/create [#lists_subscribers_create]
指定した list を講読する

:URL|
 POST http://api.twitter.com/1/lists/subscribers/create.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。

:応答|

::成功|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件
::存在しないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not found」(404)


***POST lists/subscribers/destroy [#lists_subscribers_destroy]
指定した list の講読を解除する。~

:認証|必要

:API制限|適用対象外

:URL|
 POST http://api.twitter.com/1/lists/subscribers/destroy.format
 format=xml, json

:引数|

::list_id=リストID (どれか1つは必須)&br;slug=リスト名 (どれか1つは必須)|リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。~
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。~
::owner_id=ユーザID (slug 指定時にどれか1つは必須)&br;owner_screen_name (slug 指定時にどれか1つは必須)|slug 引数指定時に list の作成ユーザを指定。

:応答|

::成功|[[リスト情報 list>WebService/Twitter/API/DataBlock#list]] 1件
::存在しないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not found」(404)
::講読していないリスト|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「You are not subscribed to this list」



**アカウント関連のAPI [#api_account]
***GET account/rate_limit_status [#ac_rate_limit]
自分の「API 制限状況」(この1時間以内にあと何回APIを実行できるか)を取得する。~
本APIの実行自体はAPI制限の対象外である(何回でも実行できる)~
認証を行わないで呼び出した場合はIPアドレス別の制限状況、~
認証を行って呼び出した場合はアカウント別の制限状況が返る。~
現在はAPIの応答の X-RateLimit で始まるリクエストヘッダに制限状況が設定されている。~

:URL|
 GET http://api.twitter.com/1/account/rate_limit_status.format
 format=json, xml

:認証|不要~
ただし、認証した状態のAPI制限状況を得るには認証を行う必要がある。~
認証を行わない場合はIP単位でのAPI制限状況を取得する。~

:API制限|適用対象外

:引数|なし

:応答|[[API制限情報>WebService/Twitter/API/DataBlock#rate_limit]] 1件


***GET account/verify_credentials [#ac_verify_credentials]
セッションを開始する。成功すると HTTP 200 OK の応答とともに認証したユーザに関する情報と HTTP-Cookie ヘッダが返る。~
認証に失敗するとステータスコード 401 の応答とエラーメッセージが返る。~
この API は認証情報が有効かどうかを確認するのに利用することができる。~

:URL|
 GET http://api.twitter.com/1/account/verify_credentials.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***POST account/end_session  [#ac_end_session]
verify_credentials で開始したセッションを終了させ空の HTTP-Cookie ヘッダを返します。~
この API はウィジェットのようなクライアントで簡易ログイン/ログアウトを実現する目的で使うことを想定している。~

:URL|
 POST http://api.twitter.com/1/account/end_session.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|なし

:応答|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Logged out.」


***POST account/update_profile [#ac_update_profile]
自分の profile (アカウント情報) を変更する。~

:URL|
 POST http://api.twitter.com/1/account/update_profile.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::name=名前 (オプション)|プロフィールの名前。最大 40 文字まで。「http://twitter.com/ユーザ名」に使われるユーザ名(スクリーンネーム)とは別もの。
::url=URL (オプション)|プロフィールのWebページ。最大 100 文字まで。先頭の「http://」部分は省略可能
::location=現在地 (オプション|プロフィールの位置情報。最大 30 文字まで
::description=説明 (オプション)|プロフィールの自己紹介あるいは当該アカウントに関する説明。最大 160 文字まで
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***POST account/update_profile_colors [#ac_profile_colors]
Twitter 上の自分のプロフィールページの各色を設定する。~
色は6桁もしくは3桁の16進数によるRGB値を指定する。~

:URL|
 POST http://api.twitter.com/1/account/update_profile_colors.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::profile_background_color=6桁もしくは3桁のRGB値 (オプション)|背景の色
::profile_text_color=6桁もしくは3桁のRGB値 (オプション)|文字の色
::profile_link_color=6桁もしくは3桁のRGB値 (オプション)|リンクの色
::profile_sidebar_fill_color=6桁もしくは3桁のRGB値 (オプション)|サイドバーの色
::profile_sidebar_border_color=6桁もしくは3桁のRGB値 (オプション)|サイドバーの境界部分の色
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***POST account/update_profile_image [#ac_profile_image]
自分のプロフィールページの画像(ユーザアイコンとしても使用される)を設定する。~
画像へのURLではなく画像データそのものを送ることに注意してください。~

:URL|
 POST http://api.twitter.com/1/account/update_profile_image.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::image (必須)|700kバイト未満のサイズの GIF, JPG, または PNG 形式の画像データを与える。~
画像の横幅(width)が500ピクセル以上の画像は縮小される。~
アニメーションGIF画像は静止画に変換されます。~
データはbase64エンコードしておくこと。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***POST account/update_profile_background_image [#ac_profile_bgimage]
自分のプロフィールページの背景画像を設定する。~
画像へのURLではなく画像データそのものを送ることに注意してください。~
画像は multipart/form-data 形式のデータとして送信すること。~
OAuth認証の signature 生成には image 引数の内容は含まない。~

:URL|
 POST http://api.twitter.com/1/account/update_profile_background_image.format
 format=xml,json

:認証|必要

:API制限|適用対象外

:引数|

::image (必須)|800kバイト未満のサイズの GIF, JPG, または PNG 形式の画像データを与える。~
画像の横幅(width)が2048ピクセル以上の画像は縮小される。~
::tile=true (オプション)|true にすると背景画像をタイル状に連続して並べて表示します。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***GET account/totals [#ac_totals]
自分の発言数、フレンド数、フォロワー数、お気に入り数の入った1次元配列を返す。~
 {
  "updates": 9125,
  "friends": 2280,
  "followers": 2774,
  "favorites": 2072
 }


***GET account/settings [#ac_settings_1]
言語・タイムゾーン・トレンド情報などを取得する。


***POST account/settings [#ac_settings_2]
言語・タイムゾーン・トレンド情報などを設定する。



**「指定デバイス」関連のAPI [#api_notifications]
***POST notifications/follow [#notifications_follow]
指定ユーザ(following)の発言を「指定デバイス」に送信するようにする。~
注意|本APIはすでに friend になっているユーザに対してのみ実行できる。~

:URL|
 POST http://api.twitter.com/1/notifications/follow.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::%%id=ユーザID(またはユーザ名) (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
発言を「指定デバイス」に送信したいユーザの ID またはユーザ名を指定する~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件


***POST notifications/leave [#notifications_leave]
指定ユーザ(following)の発言を「指定デバイス」に送信するのをやめる。~
本APIはすでに friend になっているユーザに対してのみ実行できる。~

:URL|
 POST http://api.twitter.com/1/notifications/leave.format
 format=xml, json

:認証|必要

:API制限|適用対象外

:引数|

::%%id=ユーザID(またはユーザ名) (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
発言を「指定デバイス」に送信するのをやめたいユーザの ID またはユーザ名を指定する~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件



//**場所・Geocode関連のAPI [#api_places] <new>
//***GET geo/id/:place_id [#geo_id]
//***GET geo/reverse_geocode [#geo_reverse_geocode]
//***GET geo/search [#geo_search]
//***GET geo/similar_places [#geo_similar_places]
//***POST geo/place [#geo_place]



**トレンド関連のAPI [#api_trend]
-サーバが search.twitter.com だったのが api.twitter.com に変わっている。~

***GET trends/daily [#trends_daily]
指定した日のホットな話題(最大20件)を取得する。~

:URL|
 GET http://api.twitter.com/1/trends/daily.format
 format=json

:認証|不要

:API制限|適用対象

:引数|

::date=日時 (オプション)|情報取得対象の日付を YYYY-MM-DD 形式で指定する。~
本引数を指定しない場合は、trends/current と同一の結果が返る。~|
::exclude=ハッシュタグ (オプション)|結果から削除したい(#を含まない)ハッシュタグ名を指定する。

:応答|[[日時別のトレンド情報一覧 trends(2)>WebService/Twitter/API/DataBlock#trends_2]]


***GET trends/weekly [#trends_weekly]
指定した日を含む週のホットな話題(最大30件)を取得する。~

:URL|
 GET http://api.twitter.com/1/trends/weekly.format
 format=json

:認証|不要

:API制限|適用対象

:引数|

::date=日時 (オプション)|情報取得対象の日付を YYYY-MM-DD 形式で指定する。~
本引数を指定しない場合は「今週のホットな話題」が返る。~
::exclude=ハッシュタグ (オプション)|結果から削除したい(#を含まない)ハッシュタグ名を指定する。

:応答|[[日時別のトレンド情報一覧 trends(2)>WebService/Twitter/API/DataBlock#trends_2]]



***GET trends/available [#trends_available]
ホットな話題が存在する地域の情報(配列)を取得する。~
引数で緯度、経度を指定した場合は、その地点に近い順に並び替えた「ホットな話題が存在する地域の情報(配列)」が返る。~
取得結果には WOEID (a Yahoo! Where On Earth ID) 表現による位置情報や人間が読める形式の地名情報(例えば San Francisco)が格納される。~
WOEID (a Yahoo! Where On Earth ID) に関しては、以下のWebページを参照。~
http://developer.yahoo.com/geo/geoplanet/~
取得できる件数は最大何件なのか、今のところ不明。~

:URL|
 GET http://api.twitter.com/1/trends/available.format
 format=json, xml

:認証|不要

:API制限|適用対象

:引数|

::lat=緯度 (オプション)|この引数を使う場合は、long 引数と同時に使用する必要がある~
投稿しようとしている発言に関する位置情報のうち、「緯度」を指定する~
「-90.0 〜 +90.0」 の範囲の値を指定する (正の値の場合「北緯」、負の値の場合「南緯」)~
指定した緯度、経度の地点に近いものから順に並び替えた「地域情報(配列)」を返す~
::long=経度 (オプション)|この引数を使う場合は、lat 引数と同時に使用する必要がある~
投稿しようとしている発言に関する位置情報のうち、「経度」を指定する~
「-180.0 〜 +180.0」 の範囲の値を指定する (正の値の場合「東経」、負の値の場合「西経」)~

:応答|[[地域情報 location>WebService/Twitter/API/DataBlock#location]] 配列


***GET trends/:woeid [#trends_woeid]
WOEID で指定した地点の付近のホットな情報を最大10件取得する。~
なお、取得結果は5分間キャッシュされる。~
(5分以内に同じ引数で本APIを実行した場合は、前回実行時と同じ結果が返る)
指定した地点付近の「ホットな情報」がない場合は、Twitter 全体での「ホットな情報」(trends/current 相当)を返す模様。~

:URL|
 GET http://api.twitter.com/1/trends/:woeid.format
 format=json, xml

:認証|不要

:API制限|適用対象

:引数|

::woeid (必須)|情報を取得したい地点を WOEID (a Yahoo! Where On Earth ID) で指定する。~
1 を指定すると、Twitter 全体でホットになっている情報を取得する。~

:応答|[[日時別のトレンド情報一覧 trends(2)>WebService/Twitter/API/DataBlock#trends_2]]


**ブロック関連のAPI [#api_blocks]
***GET blocks/blocking [#blocks_blocking]
自分がブロックしているユーザ情報の一覧を取得する。~
一度に取得できる数が何件かは不明。とりあえず101件以上は取得できる。~

:URL|
 GET http://api.twitter.com/1/blocks/blocking.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::page=ページ番号 (オプション)|1ページを 一定の件数(デフォルトは不明)とみなしてユーザを取得する。最新ページは 1。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***GET blocks/blocking/ids [#blocks_blocking_ids]
自分がブロックしているユーザのID一覧(配列)を取得する。~

:URL|
 GET http://api.twitter.com/1/blocks/blocking/ids.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|なし

:応答|[[ID一覧 ids>WebService/Twitter/API/DataBlock#ids]]


***GET blocks/exists [#blocks_exists]
指定したユーザをブロックしているかどうかを調べる。~
ブロックをしている場合は、対象のユーザ情報を返す。~
ブロックをしていない場合、もしくは指定ユーザアのカウント自体が存在しない場合は~
HTTP レスポンス 404 Not Found を返す。~

:URL|
 GET http://api.twitter.com/1/blocks/exists.format
 format=json, xml

:認証|必要

:API制限|適用対象

:引数|

::%%id=ユーザID または スクリーン名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
指定したユーザをブロックしているかどうかを調べる~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|

::成功|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件
::存在しないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「Not Found」(404)
::ブロックしていないユーザ|[[エラー情報 error>WebService/Twitter/API/DataBlock#error]] に「You are not blocking this user.」(404)


***POST blocks/create [#blocks_create]
指定ユーザをブロックする。~
指定ユーザが friend だった場合、friend から外した上でブロックする。~

:URL|
 POST http://api.twitter.com/1/blocks/create.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::%%id=ユーザID (オプション)&br;id=スクリーン名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
ブロックしたいユーザを指定する。~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件~
ただしブロックに成功しても 502 エラー「Twitter is over capacity.」が返ってくることが多い。~


***POST blocks/destroy [#blocks_destroy]
指定ユーザのブロック状態を解除する。~

:URL|
 POST http://api.twitter.com/1/blocks/destroy.format
 DELETE http://api.twitter.com/1/blocks/destroy.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::%%id=ユーザID (オプション)&br;id=スクリーン名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
ブロック解除したいユーザを指定する。~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件~
ブロックしていないユーザに行ってもユーザ情報が返る~


**spam 報告関連のAPI [#api_spam]
***POST report_spam [#report_spam]
指定ユーザをスパマーであると報告し、ブロックする。~

:URL|
 POST http://api.twitter.com/1/report_spam.format
 format=json, xml

:認証|必要

:API制限|適用対象外~
ただし、1時間辺りの報告数の上限は固定~

:引数|

::%%id=ユーザID (オプション)&br;id=スクリーン名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
スパマーとして報告したいユーザを指定する~
::user_id=ユーザID (どれか1つは必須)&br;screen_name=ユーザ名 (どれか1つは必須)|対象のユーザを指定する。
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件~
ただしスパム報告(&ブロック)に成功しても 502 エラー「Twitter is over capacity.」が返ってくることが多い。~



**廃止されたAPI [#api_deprecated]

:ユーザ名を使うid 引数|現在は "user/show/9999.json" のようなユーザを指定する id 引数にユーザ名(スクリーン名)とユーザIDが混同して指定できる。~
2011/05 現在も使うことはできるがまぎらわしく、廃止予定となっているため利用すべきではない。~
ステータスID を入れる id 引数は全く問題ないが、~
ユーザIDには user_id、ユーザ名には screen_name 引数がすでに用意されているのでそちらを使うこと。~
望ましくない指定方法。~
 statuses/friends_timeline/:id.format
 statuses/user_timeline/:id.format
 statuses/show/:id.format
:廃止された特定メソッドの引数など|
 users/show					email 引数
 account/update_profile		email 引数
 statuses/public_timeline	since_id 引数
 statuses/friends_timeline	since 引数
 statuses/user_timeline		since 引数


***statuses/featured [#statuses_featured]


***account/archive [#account_archive]


***help/downtime_schedule [#help_downtime_schedule]


***favourings/create [#favourings_create]


***favourings/destroy [#favourings_destroy]


***statuses/replies (廃止) [#replies]
&color(red){<公式仕様書ではすでに削除されている>};~
%%自分に対する返信(冒頭が @ユーザ名 で始まるステータス)の一覧を取得する。%%~
すでに「@ユーザ名 」で始まらない本文途中の「@ユーザ名」でも取得する。~
新引数の trim_user なども使えるため、おそらくはもう mentions のエイリアスとなっている。~
&color(red){仕様書ではすでにこの API は削除されている。};~
2011/05 現在でも利用可能だが、リプライのみの取得もできないためすでに必要性はない。~

:URL|
 GET http://api.twitter.com/1/statuses/replies.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::since=日時 (オプション)|指定した日時以降に update されたステータスを取得する~
日時のフォーマットは RFC822(の「5.日付と時刻仕様」) に従う~
なお、本オプションの代わりに http リクエストヘッダで~
If-Modified-Since~
を明示することで、日時を指定することもできる~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_rts=true (または include_rts=t, include_rts=1) (オプション)|本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***初期のlistメソッド群 [#y85d5978]
以下の奇妙な形式のリストメソッド群は廃止。
 DELETE :user/:list_id/members
 DELETE :user/:list_id/subscribers
 DELETE :user/lists/:id
 GET :user/:list_id/members
 GET :user/:list_id/members/:id
 GET :user/:list_id/subscribers
 GET :user/:list_id/subscribers/:id
 GET :user/lists
 GET :user/lists/:id
 GET :user/lists/:id/statuses
 GET :user/lists/memberships
 GET :user/lists/subscriptions


***geo/nearby_places [#b9cbc52b]


***statuses/followers (廃止) [#statuses_followers]
&color(red){<このメソッドは廃止予定です>};~
自分もしくは指定ユーザをフォローしているユーザの一覧を取得する。%%~
このメソッドはフォローされているユーザの最新のツイートに含まれるユーザ情報を返すだけです。~
followers/ids と users/lookup を組み合わせて使うように推奨されています。~
この API で一度に取得できるデータは最大100件(100人分)である。~

:URL|
 GET http://api.twitter.com/1/statuses/followers.format
 format=json, xml

:認証|不要

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
::user_id=ユーザID (オプション)&br;screen_name=ユーザ名 (オプション)|対象のユーザを指定する。未設定なら自分自身が対象になる。
::%%page=ページ番号 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
(1ページを100件とみなしたときの)ページ番号を指定することで、指定ユーザの follower の一覧を100件単位で取得する~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::%%lite=true (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
lite=true を指定すると、「各 follower の最新ステータスなし」で follower の一覧を返す
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***statuses/friends (廃止) [#statuses_friends]
&color(red){<このメソッドは廃止予定です>};~
自分もしくは指定ユーザがフォローしているユーザの一覧を取得する。~
このメソッドはフォローしているユーザの最新のツイートに含まれるユーザ情報を返すだけです。~
friends/ids と users/lookup を組み合わせて使うように推奨されています。~
この API で一度に取得できるデータは最大100件(100人分)である。~

:URL|
 GET http://api.twitter.com/1/statuses/friends.format
 format=json, xml

:認証|不要

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>};~
::user_id=ユーザID (オプション)&br;screen_name=ユーザ名 (オプション)|対象のユーザを指定する。未設定なら自分自身が対象になる。
::%%page=ページ番号 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
(1ページを100件とみなしたときの)ページ番号を指定することで、指定ユーザの friend の一覧を100件単位で取得する~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::%%lite=true (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
lite=true を指定すると、「各 friend の最新ステータスなし」で friend の一覧を返す
::%%since=日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した日時以降にステータス が update された friend の一覧を取得する~
::cursor=-1 または cursor=カーソル位置 (オプション)|指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。~
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。~
この値を cursor 引数に与えることで前後のページのデータを取得できる。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 配列


***statuses/friends_timeline (廃止) [#friends_tl]
&color(red){<このメソッドは廃止予定です>};~
自分と自分の friend の過去800件分の(デフォルトでretweetを含まない)ステータスから20件(最大200件)を取得する。~
%%引数 id を指定すれば、その id のユーザの friend のステータスを取得できる。%%~
&color(red){すでに他者のタイムラインは取得できなくなっている。};~
retweet がデフォルトでついてこない home_timeline と考えてよい。~
home_timeline との違い~
|home_timeline|~friends_timeline|h
|retweetを含む|include_rtsを指定しなければ&br;retweetを含まない|
|id 指定できない|id 指定できる|

:URL|
 GET http://api.twitter.com/1/statuses/friends_timeline.format
// GET http://api.twitter.com/1/statuses/friends_timeline/:id.format
 format=json, xml, rss, atom

:認証|必要

:API制限|適用対象

:引数|

::%%id=ユーザID (オプション)&br;id=ユーザ名 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定したユーザの friend のステータスを取得する。~
(この引数を指定しない場合は、自分と自分の friend のステータスを取得する)~
::%%since=日時 (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定した日時以降に update されたステータスを取得する~
日時のフォーマットは RFC822(の「5.日付と時刻仕様」 = RFC2822 の 3.) に従う~
なお、本オプションの代わりに http リクエストヘッダで~
If-Modified-Since~
を明示することで、日時を指定することもできる~
::since_id=ステータスID (オプション)|指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
::max_id=ステータスID (オプション)|指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
::count=ステータス数 (オプション)|一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
::page=ページ番号 (オプション)|1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。~
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_rts=true (または include_rts=t, include_rts=1) (オプション)|本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***statuses/public_timeline (廃止) [#public_tl]
公開設定で自分のアイコンを設定済みのユーザの最新のステータスから20件を取得する。~
この API を実行してから60秒間、応答結果がキャッシュされ同一の応答しか返らない。~
それよりも短い時間間隔で public_timeline を取得したい場合は「ストリーミングAPI」を利用すること。~

:URL|
 GET http://api.twitter.com/1/statuses/public_timeline.format
 format=json, xml, rss, atom

:認証|不要

:API制限|適用対象

:引数|

::%%since_id=ステータスID (オプション)%%|&color(red){<公式仕様書ではすでに削除されている>};~
指定したIDより大きな値のIDのステータスのみ取得する。~
::trim_user=true (オプション)&br;trim_user=t (オプション)&br;trim_user=1 (オプション)|ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[ステータス情報 status>WebService/Twitter/API/DataBlock#status]] 配列


***trends (廃止) [#trends]
いま、Twitter でホットな話題(最大10件)を取得する。~
トレンドワードとそれを含めた検索URLの配列を返す。~

:URL|
 GET http://api.twitter.com/1/trends.format
 format=json

:認証|不要

:API制限|適用対象

:引数|なし

:応答|[[トレンド情報一覧 trends(1)>WebService/Twitter/API/DataBlock#trends_1]]


***trends/current (廃止) [#trends_current]
いま、Twitter でホットな話題(最大10件)を取得する。~
trends と trends/current とで、微妙に返ってくる結果のフォーマットが異なる。~

:URL|
 GET http://api.twitter.com/1/trends/current.format
 format=json

:認証|不要

:API制限|適用対象

:引数|

::exclude=ハッシュタグ (オプション)|結果から削除したい(#を含まない)ハッシュタグ名を指定する。

:応答|[[日時別のトレンド情報一覧 trends(2)>WebService/Twitter/API/DataBlock#trends_2]]


***account/update_delivery_device (廃止) [#ac_update_device]
&color(red){<このメソッドは廃止予定です>};~
自分の device を設定する。~
公式でデバイス設定でがすでになくなっているため使用できない。~

:URL|
 POST http://api.twitter.com/1/account/update_delivery_device.format
 format=json, xml

:認証|必要

:API制限|適用対象外

:引数|

::device=sms (必須)&br;device=none (必須)|「指定デバイス」(SMS 等)を使って最新の発言を取得したい場合に、本 API にて指定する。~
none を指定すると、本 API 実行完了時点で、device が使えなくなる(device 経由での投稿もできなくなる)。~
::include_entities=true (オプション)&br;include_entities=t (オプション)&br;include_entities=1 (オプション)|本引数を指定すると、ステータス情報に entities という情報を含むようにする。~
entities には、そのステータスに関連するメタデータが格納される。~

:応答|[[旧形式エラー一覧>WebService/Twitter/API/DataBlock#errors_]] に「This endpoint is deprecated and should no longer be used」


***account/update_location (廃止) [#ac_update_location]
&color(red){<公式仕様書ではすでに削除されている>};~
自分のプロフィールの位置情報(location)欄に表示する情報を更新する。~
2011/05 現在でも機能していますが、使わないほうが無難でしょう。~
今は account/update_profile を使うべきです。~

:URL|
 POST http://api.twitter.com/1/account/update_location.format
 format=json, xml
 
:認証|必要

:API制限|適用対象外

:引数|

::location=ユーザの現在位置 (必須)|profile の location 欄に表示したい文字列を指定する。~

:応答|[[ユーザ情報 user>WebService/Twitter/API/DataBlock#user]] 1件

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規新規下位 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS