概要
2012年9月5日にTwitter社が API v1.1 の詳細を公開したので、確認してみます。
関連する文書
関連する文書は以下となります。
- Current status: API v1.1 | Twitter Developers
- Overview: Version 1.1 of the Twitter API | Twitter Developers
- REST API v1.1 Resources | Twitter Developers
- Developer Display Requirements | Twitter Developers
API v1.1の概要
「Overview: Version 1.1 of the Twitter API | Twitter Developers」に概要が記述されています。
- 各endpoint毎に15分毎の呼出回数制限が設定された。ほとんどが15分15回で、検索系APIのみ15分180回。発言も15分180回。
- JSONだけになった。XMLやRSSは提供されない。
- 全てのendpointでOAuth認証が必須になった。
- つぶやきの表示形式が義務付けられた。
- 10万を越えるユーザを抱えるクライアントは、それ以上ユーザを増やすには申請が必要。
- API v1.0 は 2013年3月5日に停止される。
- dev.twitter.com の文書は、v1.1用に更新される。
- 意見はまだ募集しており、今後変更される可能性はある。
その他変更されたと思われる部分
まだ、十分さわれていないが、概要に書いていない部分で変更点がある模様。
- 認証しないでアクセスした場合のHTTPステータスコードが v1.0 と異なる。v1.0 では 「400 Unauthorized」で、v1.1 では 「401 Bad Request」。
- Streaming API の機能が増えて、よりリアルタイム性が増した。
個人的な意見
個人的な意見を書いておく。Twitter社には比較的同情的な立場。Twitter も比較的普通の使い方しかしてないと思われる。
- 「REST API v1.1 Resources | Twitter Developers」を見ると非常に良く設計されたAPIだと感じる。かなりいろいろな事を考慮して作成されている。
- v1.0 から v1.1 への移行は比較的容易になるように考慮されている。
- 「認証」を前提とした設計になっていると強く感じる。
- XML、RSS が提供されなくなるのは「認証」を前提とした時はある意味必然の結果に見える。
- APIの制限が、v1.0は全てを合計して 350回/時 だったのが、v1.1 では endpoint 毎に 15回/15分や、180回/15分になったことで、おそらく API はより安定すると思われる。
- 多くの人はタイムライン取得を1分に1回にしており(多くのついったクライアントのデフォルト値)、ほとんどの人がAPI制限にひかからない。むしろ増えたように感じるだろう。
- 1分に1回以上タイムラインを取得したい場合は、Streaming API の user endpointを利用すれば可能。
- モバイルに関しては iPhone/Android 以外はほとんど考慮していないと思われるが、普通の使い方の限り iPhone/Android でもあまり問題が無いように見える。iPhone/Android 上でも Streaming API は当然利用できる。
- つぶやきの表示義務(Developer Display Requirements | Twitter Developers)は、必要な情報をちゃんと全部表示しろ、という義務に見える。
- つぶやきの表示義務はTwitter公式クライアントも守れているのか怪しい。ちょっとおかしい感じ。
- クライアントのユーザ10万制限は、Twitter側のインフラがそろそろ限界なのだろう。また、ほとんどのクライアントは10万いかず、10万を越えるほどのクライアントなら、申請すればちゃんと通るのではないか、と楽観的に考えている。
- ヘビーユーザは、そろそろ別のサービスに移動する時期なのではないだろうか。Twitter 側はそれを認識しているように見える。
- APIの設計から考えるに、Twitter 社は今回の決定をいかなる反対があっても断固として実行すると思われる。Twitter社はある意味おいつめられている感じがする。
- API v1.1になっても依然として、「完全な」クライアントを作成することが可能な時点で、他の企業と比較しても明らかに異状な API 公開態度に見える。
- 移行期限が長いか短いかで考えると、短い感じもするが、おそらく、年度をまたぐような延長は無いと思われる。3/5 という期限は非常に考慮してある感じだ。
- 今回の件でクライアントの一部が開発を終了したり、ユーザに混乱が発生するだろうが、ほとんどは時間が解決するだろう。
- ユーザが騒いでも、Twitter社にとってはほとんど問題にならない規模だろう。
まとめ
変な所には意見を言うべきかと思う。
ただ、全体的に良くできているため、最終的には、ヘビーユーザの一部が離れ、クライアントが整理され、botが多少減り、一般ユーザはあまり困らない、という結果になるのでやないか、と今の所は楽観視している。