結局、Twitter API 1.1で何が変わる? 5つのポイントTwitter APIと開発者規約変更のインパクトまとめ

変更による影響範囲や、一部APIの廃止、レートリミット方式の変更、アプリケーション当たりのユーザー数、ツイート表示方式の厳格化などを5つのポイントにまとめて解説

» 2012年09月26日 20時12分 公開
[山本裕介,フリーランスエンジニア]

開発者のはしご外し? Twitter API狂騒曲


 Twitter201289APIAPI


Changes coming in Version 1.1 of the Twitter API

Current status: API v1.1

Sunsetting @Anywhere

Twitter LinkedIn

TwitterAPI 

Twitter API 

Tweetbot for Mac αTwitter

 Web

Twitter

Tweetbot for Macβα

TwitterTwit

Twitter APITwitter

HootSuiteSeesmic Twitter API

TwitterWebTwitter@Anywhere 126

TwitterJanetteriPhone 

稿Twitter

TwitterCEO


 TwitterTwitter APITwitter

 稿

3


 ITTwitterTwitterTwitterTwitter3

1Twitter


 TwitterAPI

 使

 

2


 ITTwitter API

 API20133Twitter APIURL

 APIDisplay RequirementsDisplay Guidelines沿

3


 Twitter@DMWeb

 TwiccaTweenJanetter

 Display RequirementsTwitter

 Display Requirements沿


 5


(一)REST API

(二)API

(三)

(四)

(五)

1REST API


 REST APITwitter APIAPIREST APIURLhttp(s)://api.twitter.com/1/*Twitter API 1.1http(s)://api.twitter.com/1.1/*

 APIURLAPI

 APIAPI 1.1使


API


  /statuses/retweeted_by_me
  /statuses/retweeted_to_me
  /statuses/retweets_of_me
  /statuses/retweeted_to_user
  /statuses/retweeted_by_user
  /statuses/:id/retweeted_by
  /statuses/:id/retweeted_by/ids
  /friendships/exists
  /friendships/no_retweet_ids
  /account/totals
  /notifications/follow
  /notifications/leave
  /trends/daily
  /trends/weekly
  /blocks/blocking
  /help/test


API


  /blocks/blocking/ids  /blocks/ids
  /direct_messages/destroy/:id.json  /direct_messages/destroy.json?id=:id
  /favorites/create/:id.json  /favorites/create.json?id=:id
  /favorites/destroy/:id.json  /favorites/destroy.json?id=:id
  /account/rate_limit_status.json  /application/rate_limit_status.json
  /lists.json  /lists/list.json

@IT編集部より:おわびと訂正のお知らせ

上記廃止になるAPIについて、/blocks/destroyは含まれないため、記述を削除しました。 内容について正確を期せずに混乱を招いた点、読者の皆様におわび申し上げます(2012年10月1日)。



 APIOAuthTwitter API 1.1OAuth

 API 1.0API 1.1API 1.0201335

REST APIの変更のポイント

  • エンドポイントURLが「http(s)://api.twitter.com/1/***」から「http(s)://api.twitter.com/1.1/***」へ変更
  • 一部廃止のAPIも
  • 全てOAuth認可が必要になる

【2】検索APIの変更点

 従来検索API呼び出し用のエンドポイントは「http://search.twitter.com/search.json」でしたが、API 1.1ではREST APIと統合され、「https://api.twitter.com/1.1/search/tweets.json」となります。

 また、従来検索APIのレスポンスの構造はREST APIのレスポンスと異なっていましたが、API 1.1で統一されることになります。つまり、呼び出しエンドポイントを書き換えるだけではなく、レスポンスをパースする部分についても、コードの改修が必要になります。

 レートリミットについては、これまでIPアドレス単位であったのが、REST APIと同じくアカウント単位となります。他のサービスとIPアドレスを共有しているクラウドにデプロイしたアプリケーションが予測できないタイミングでレートリミットに達してしまうようなことはなくなります。

検索API変更のポイント

  • エンドポイントURLが変更
  • レスポンスの構造がREST APIと統一
  • レートリミットはIPアドレス単位ではなくアカウント単位へ

【3】レートリミットの変更点

 Twitter APIを利用する上で忘れてはならないのがレートリミットです。従来REST APIのレートリミットはOAuthなしの場合はIPアドレス当たり1時間150回、OAuthありの場合は1アカウント当たり1時間350回でした。

 API 1.1では、1アカウント当たり15分で“エンドポイントごとに”15回または180回となります。単純に1時間当たりにならすと、60回または720回になるので、多数のエンドポイントを利用するアプリケーションにとっては350回以上呼び出せることになります。よって実質、制限が緩くなったことになります。

 しかし、特定のエンドポイントを集中的に呼び出すようなアプリケーションにとっては幾分制限が厳しくなります。レートリミットにシビアなアプリケーションでは、呼び出せる残り回数をX-Rate-Limit-Remainingヘッダで、また呼び出しカウントがリセットされる時間をX-Rate-Limit-Resetヘッダで確認するようにしましょう。従来のX-RateLimit-*と違いRateとLimitの間にハイフンが入っていることに注意してください(参考:公式ドキュメントの「レートリミットの詳細(英語)」)。

 各エンドポイントの実際のリミットについては公式ドキュメント「エンドポイントごとの15分当たりのリミット(英語)」をご参照ください。

 1日1アカウント当たりツイート1000件、ダイレクトメッセージ250件といった更新系のAPI、またストリーミングAPIの制限については変更ありません。

レートリミット変更のポイント

  • リミットはアカウント単位ではなくエンドポイント単位
  • アプリケーションにより、制限が緩くなる場合と厳しくなる場合とある
  • ツイート数、DM数については変更なし

【4】アプリケーション当たりのユーザー数


 Twitter APIdev.twitter.com110Twitter

 APIDisplay Requirements

 TwitterTwitter

 10

 Twitter1TwitterTwitter Development Talk > consistency and ecosystem opportunities

 Twitter10Twitter

 5


 TwitterAPIDisplay Guidelines

 Display Requirements姿

  @yusuke@24Developer Display Requirements

 WebTwitterHTML
図 ツイートの埋め込み機能

冷静に情報の情報の真贋を見極めよう


 Twitter APITwitter

 API

 Twitter

 TwitterTwitterTwitter API

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。