Twitterにまつわるいろいろな制限について

こんにちは! みなさん今日もTwitterで元気につぶやいていますか!? さえずっていますか!?

ところでよく聞く"規制"ってあるじゃないですか. なんかあまりにヒマだったのでちょっと調べてみたのです. そしたらこんなページが.

Twitter Support :: Following and Update Limits

Twitterが設けている制限について記述してあるページです. 抜粋してまとめてみました. まとめただけなので, 対策とかではないです. ちなみに○○制限という名前で統一してありますが, 正式な名前ではないのであしからず.

API制限

TwitterにはAPIというモノが設けられておりますが, ある制限を超えると使用できなくなります. それは1時間あたりの使用回数が150を超えた時です*1. この使用回数は特定のタイミングでリセットされます.

ちなみに誤解されやすいかもしれませんが, この使用回数を消費するAPIと消費しないAPIがあります.

大まかに言うと, TimelineやMentions, DirectMessagesなどの取得に関わるAPIは使用回数を消費します. それ以外のつぶやきの投稿や, フォロー/リムーブ, お気に入りの追加/解除などのAPI使用回数を消費しません. したがって「つぶやきすぎてAPI制限にひっかかっちゃった!」はありえません.

アップデート制限

じゃあなぜつぶやけなくなってしまうのか. それは別の制限があるからです. それがアップデート制限. つぶやくコトをTwitter側ではステータスのアップデートと表現するのでこういう風に呼んでみました.

どうやらつぶやきは1日に1,000件までしか受け付けないようです. Webからつぶやこうが, クライアントからAPI経由でつぶやこうが, 1,000を超すコトはできないみたいです. あとDirectMessageは1日に250件までです.

フォロー制限

あとフォローに関しても制限があります. ただ大した話ではないですが.

簡単に言うとfollowingを極端に増やすコトはできない, という話です. followingとfollowerの比率によって最大following数が決まります.

おかしな400 Bad Requestについて

制限にひっかかると, Twitter側からの応答で400 Bad Requestというのが返ってきます. 「その要求は受け付けられないなぁ」というコトですね. 試しにAPIを150回使用した後で, 追撃のAPIを使用すると400 Bad Requestが返ってきます.

しかしつぶやきが1,000に到達していないはずなのに, つぶやいたときに400 Bad Requestが返ってくるときがあります. ボク自身だと, ここ数日の深夜1時から朝7時ぐらいまでつぶやけないときがあります. それもまったくではなく, 1回2回つぶやくのに成功して, その後またつぶやけないとう具合に.

コレは先のページにも書かれていない現象なので, ただの推測ですがTwitter側の隠れた負荷軽減措置のような気がします. ボクは10,000回つぶやいた後ぐらいからこの影響を初めて受けたので, つぶやいた回数が多い人にこの措置が適用されているのかもしれません.

まとめ

  • APIは1時間あたり150回までしか使用できない. ただしTLの取得などに限る
  • つぶやきは1日に1,000件まで. DMは1日に250件まで
  • しかし時間帯やユーザーによっては1,000件未満でもつぶやけない時がある
  • followerを増やさずして, followingを極端に増やすコトはできない
  • コレらを知ったとしても, つぶやき無条件拒否の対策にはならない*2

追記[2009-10-12 1:41]

制限に関するページが他にもありました.

Twitter API Wiki / Rate limiting

気がかりなのは一番下のブラックリストに関連するところ. 怪しい挙動のアプリケーション(OAuthコンシューマも含むのでしょうか)は自動的にブラックリスト入りされるとか……?

*1:Twitterの調子によってはより少なくなるコトもあるとか

*2:Twitter側もふざけているわけではないでしょうし, 従うべきなのだと思います