APIとは?
Application Programing Interface。
サービスや機能を外部のアプリケーション等に提供する手段・窓口です。
サービス提供側が用意します。
Twitterの場合、TwitterがAPIを用意し、クライアントアプリがそのAPIを
使用してタイムラインの取得やツイート投稿などを行ないます。
Twitterクライアントアプリは基本的にすべてこのAPIを使用しています。
このため、Twitter側のAPI動作が不安定な状況下ではすべてのクライアントが不安定になります。
API Rate Limit(API Limit, API制限) / API切れ とは?
TwitterのAPIは一定時間あたりに使用できる回数に制限があります。
これがAPI Rate Limitです。(fuyutigerではAPI Limitと表示)
2013年3月現在、API Version 1.1では使用するAPIごと(機能ごと)に制限が課せられています。
ほとんどのAPIは15分あたり15回に制限されています。
つまり、UserStreamを使用せず、手動でタイムラインを更新する場合、最低でも1分間隔以上での更新としなければなりません。
API切れとはこの制限回数超えてしまった状況を指します。(Twitter界隈だけの言葉です)
この状況ではタイムラインの取得や検索などが行えなくなります。
2010年7月7日現在、1時間あたり175回に制限されています。
API Rate Limitの最大値はTwitter側の判断により増減します。
先日までは350回/時間でしたが、ワールドカップ開始以降、サーバーの負荷が高いため
175回に制限されています。状況によってはこれ以下の回数になることもあるそうです。
2012年4月現在、350回/時間です。
2012年4月訂正:検索はAPI Rate Limitに関係ありません。検索回数はIPアドレスごとに1時間あたりの規定回数が別途指定されます
API Rate Limitについても、クライアントではなくTwitter側の制限です。
よく「○○○(クライアントの名前)のAPIが切れた?」という発言を見ますが、あくまでもTwitter側の回数制限でクライアントによる制限ではありません。
API Version 1.1、 Version 1.0とは?
2013年3月、TwitterのAPIがVer.1.1になりました。
Twitterとのやり取り方法が変更され、様々な制限が課せられるようになりました。
クライアントアプリケーションはこの制限に従わなければなりません。
Version1.0のAPIは予定では3月中に使用できなくなります。
このため、Version1.1に対応しない古いクライアントアプリケーションは利用できなくなります。
なぜAPIの使用回数を制限しているの?
なぜ回数が制限されているかといえば、Twitterサーバーの負荷を下げるため(上げないため)です。
回数制限がなければユーザーは1秒単位など極短い間隔でタイムラインを更新したがるでしょう。
全世界のユーザーからこのようなことをされてしまってはTwitter側の処理が間に合いません。
処理が間に合わなければ投稿に失敗したり、タイムラインが歯抜けになったり、
そもそもタイムラインを取得できなかったり悪いことづくめです。
このようなことにならないよう、皆が平均して安定したサービスを受けることが出来るような回数に制限をしているのです。
回数制限を回避するために副アカウントを作るような行為は推奨できません。
むしろするべきではないと明言できます。
Twitterの負荷を上げないための制限なのですから、クライアント側はタイムラインの取得間隔を広げたりして対処するべきです。
皆が皆 副アカをつかって制限を回避するようなことになれば、1アカウントあたりのAPI Rate Limitはさらに下がることになるでしょう。
fuyutigerではタイムラインの更新間隔は1分以上の設定を推奨します。
コメント