ページ

2012/08/19

Twitter API v1.1 変更点まとめ

2012/08/17(金)にTwitter API v1.1についてTwitter開発ブログの記事などが公開されました。
Changes coming in Version 1.1 of the Twitter API | Twitter Developers
Twitterブログ: Twitter API v1.1でのAPI利用ルールの変更について
誤解した人が多かったのか悲観的な声をよく聞いたような気がします。
誤解のないようにまとめておきたいと思います。間違いのないように努めますが本家の情報も見ておいたほうがいいと思います。

大きな変更点は3つ

  1. 全てのAPIエンドポイントに認証が必要になる
  2. 新しいエンドポイント毎のレートリミット方式
  3. デベロッパールールの変更(特に従来のTwitterクライアントのアプリ周り)
※エンドポイント: 簡単に言えばAPIの種類…だと思います。

1.認証が必須に

今までTwitter APIにはSearch APIなど認証が必要でないものがありましたが
v1.1からは全APIエンドポイントが認証必須になります。
認証なしのAPIは誰にでも使えていましたが、
そのため非常に高いレートでAPIを叩くなどAPIの不正利用があったようです。
それを防止し、開発者のニーズを満たすよう進化するためには
どのようなAPIにアクセスしてるかを明確にすることが重要なため認証が必要だそうです。

既にOAuthを使用している開発者のために認証トークンはv1.1への移行でもシームレスに引き継がれます。
認証の必要のないAPIを使用している場合は2013年3月前までにOAuth認証するように更新が必要になります。

2.エンドポイント毎のレートリミット

TwitterのREST APIは現在APIの種類に関係なく350回/時でしたが、v1.1ではエンドポイント毎に60回/時になります。
数字上減ったように見えますが、APIエンドポイント(種類)毎のレートリミットになっているため
ツイートしすぎてふぁぼれないということなどがないので改良だと思います。
60回/時はTwitter APIの利用状況を分析して設定されたもので、ほとんどのアプリケーションのニースを超えるそうです。

また、ツイート表示、プロフィール表示、ユーザーの検索などの大量のエンドポイントを必要とするアプリケーションは
720回/時までのレートリミットが適用されるようです。
詳しくはv1.1のリリースで公開されるドキュメントに記載されるようです。

3.デベロッパールールの変更

  1. Display Guidelinesが表示の必要条件に
  2. プリインストールのクライアントアプリケーションはTwitterによる認定が必要に
  3. 大量のユーザートークンを必要とする場合は開発者は直接Twitterに連絡が必要に

3-1.Display Guidelinesを守る

ツイートについて同一のユーザー体験(@usernameをクリックしたらプロフィールが表示されるなど)が大切だということです。
まともな開発者ならユーザーが期待する動作を作ると思うので問題ないでしょう。

3-2.プリインストールのクライアントアプリケーションはTwitterによる認定が必要

モバイルデバイスやSIMカード、チップセットなどにプリインストールするの場合は、Twitterの承認が必要となります。

3-3.大量のユーザートークンを必要とする場合は開発者は直接Twitterに連絡が必要に

One of the key things we've learned over the past few years is that when developers begin to demand an increasingly high volume of API calls, we can guide them toward areas of value for users and their businesses.
ちょっと意味が良くかわからなかったんだけども連絡してくれたら良い感じにしてくれるのでしょうか。
ユーザートークン数が10万になったら許可が必要になるようです。
もう既に10万ユーザーに達している場合は現在のユーザートークン数の200%までの増加が認められています。
それに達した場合もTwitterに許可が必要になります。

詳しいことが書かれていないので連絡をとったら許可が貰えるのかなどはよくわかりません。
取らぬ狸の皮算用で騒いでも仕方ないので詳しい情報が出るまで静観しておくのが良さそうです。

Twitter API v1.1への移行期間

v1.1がリリースされると同時にv1.0の廃止がアナウンスされます。
リリース後6ヶ月は移行期間となります。
OAuth認証が必須になるので認証するようにアップデートし、
新しいレートリミットでのアプリケーションの挙動をテストするだけの比較的簡単な移行になるでしょう。

今日のTwitterのエコシステム

Twitter Ecosystem
今回のAPIの変更は左上、左下、右下の活動を推奨し、右上の特定のユースケースの制限をしようとするものです。

右上にはツイートキュレーションサービスやツイート発見サイトfavstar.fmなどがありますが、
制限の対象となるのは単に模倣や再現をした従来のツイッタークライアントのようです。
18ヶ月前にもアナウンスしているようですし、新しい価値を提供できないTwitterクライアントはもういらないということでしょう。

近く、v1.1に関する追加情報があるようですのでTwitter開発者ブログをチェックしておいた方が良さそうです。

おまけ

Twitter API ポケットリファレンス (POCKET REFERENCE)Twitter API ポケットリファレンス (POCKET REFERENCE)
今回のAPIのバージョンアップはそれほど影響のあるものではないので
Twitter API ポケットリファレンスはまだまだ使えそうです!
Twitter APIを叩くなら持っておきたいですね。