やったこと

webサービスを作るときに考えたことを垂れ流します

twitter API制限の「ユーザー単位」「アプリケーション単位」ってなんだ?

twitterAPI制限
twitterAPI(version 1.1)には使用回数の制限(リミット)が設けられている。

例えば「GET users/show」というユーザーアカウント情報を取得するAPIには「ユーザー単位で180回/15分」「アプリケーション単位で180回/15分」と制限が付いている。

実はこの言葉がよく意味が分からなかった。
ユーザー単位とアプリケーション単位ってなんだろう?

特に「アプリケーション単位」っていう言葉が気になる。例えば180人のユーザーが自分の作ったtwitterアプリを利用していて、一斉に一回ずつAPIを使用したとしたら、ユーザー全員が15分もの間APIを使用不可能になってしまうってことなんだろうか?

こんな動作ではおそらくツイッターAPIは使い物にならなさそうだ・・。


■ユーザー認証とアプリケーション認証
twitterOauth認証の方式には二種類あるらしい。

「ユーザー認証」というのは一般によく知られている、あるアプリがあるユーザーの情報にアクセスするために利用するOauth認証のこと。

それとは別に、アプリ単体が(特定ユーザーとは無関係に)APIを利用するために用意された、「アプリケーション認証(Application-only authentication)」という方式もあるらしい。

「ユーザー単位」のAPI制限とは、上記の「ユーザー認証」利用時のAPI使用制限のこと。
「アプリケーション単位」のAPI制限とは、上記の「アプリケーション認証」利用時のAPI使用制限のことを指すらしい。


なるほど、自分が使用しているのは「ユーザー認証」のOauthだから、上記のような180人が一斉に通信不能になってしまうような恐ろしいことは起きないってことか。よかったよかった。