Yaks

Twitterの APIリクエスト数が制限されるっぽい はてなブックマーク - Twitterの APIリクエスト数が制限されるっぽい

先週から一部で話題に挙がっていましたが、今週から Twitterの API経由のリクエストに一部制限がかかります。

この件についてちょっと触れてみようと思います。

ちなみに情報源となるアナウンスは、Twitter Development Talk(Googleグループ)上の Heads up: rate limiting coming soonというスレッドです。

Twitterの中の人であるAlex氏の投稿で、以下のようなことが挙げられています。

  • 来週の早い段階で、各ユーザー 24時間あたり 1440回のAPIリクエストに制限される。(最初に行ったリクエストから換算とのこと。なので日付でリセットではない様子。)
  • 認証の必要がないリクエスト(今のところは public timelineのみ?)はこの制限には含まれない。
  • もしこれ以上のリクエストが必要な場合、以下のような方法がある
    • Jabber/XMPP(つまりは IM)を使う。(開発者向けの情報が少ないけど、何人かもうやってるよ。)
    • スクリーンネームと 1440回以上のリクエストが必要な理由を添えて、メールで個別に連絡を送る。
だいたいかいつまむとこんな感じでしょうか。 元のトピックでも触れられていますが 1440回は 1分毎に 1回リクエストを行うことを想定しているようです。(24x60)

ちなみに、リクエストとは簡単に言えばサーバと通信を行うことです。たとえばステータスの取得や更新などを一回行うと、それが 1リクエストとして数えられます。また、APIリクエストとは、ようは外部のソフトやサービスなど、Twitterの Webサイト以外からのリクエストと思ってください。(ただし IMは別。)

そして、上記のとおり IM経由のリクエストや、Twitterの Webページ上から更新などは、今回の制限対象にはカウントされません。あくまで対象となるのは APIを経由したリクエストのようです。

ひとまずこれをうけて、Twitter Lineでは更新頻度を下げるなどの対策を行いました。

ただ、厳しいのがこの制限がユーザーアカウントごとにかかってしまうという点。

これがどういうことかというと、同じアカウントで異なるソフトやサービスを複数使った場合、それらの合計で制限がかかってしまうことになります。たとえばユーザー Aさんがうちの Twitter Lineと FLOATwitterを使った場合、Twitter Lineで 1400回、FLOATwitterで 40回リクエストを行うと、制限にひっかかってしまうことになります。

twitter_limit.gif

また Twitter Lineと同じような常駐型のクライアントソフトを複数同時に起動していた場合、それぞれが リクエストを定期的に行うことになるので、すぐに制限に達してしまう恐れがあります。こればっかりは、いくら各ソフトやサービスの開発者が対策をとったところで回避しようがないため、ユーザーにとってはなかなか厳しい制限ではないかと思われます。

とりあえずユーザーサイドでとれる対策としては以下が挙げられるかと思います。

  • 発言数を控える
  • 常駐型クライアントソフトは更新間隔を長めに設定し、複数のソフトを併用を控える
  • ステータスの更新をなるべく Twitterの Webページ上、または IMから行うようにする

いずれも Twitterが魅力を低下してしまうような方法なので、できればもう少し Twitterの中の人に対応を考えて欲しいところではあります。


実際、発表のあったトピックの下のほうで、
「Jabber/XMPPが落ちまくりだから制限入れる前に先にそっち直してくれよ」とか
「もしユーザーがクライアントソフトつけっぱなしにしちゃったらすぐ制限に達しちゃうぢゃん!」とか、
「制限にひっかかった場合のレスポンスはどーなんの?」とかイロイロつっこまれているのですが、いまのところは返答がないようです。(おそらくこちら(西海岸)の明日以降に返答がつくと思いますが...)


開発者の方々は、まだ情報が出揃ってない感じもあるので、今後の動向をみながら対応を考える必要がありそうです。


今後進展があったら、追ってお伝えしていこうと思います。

であ、また。


2007.06.26 16:57 (JST) 追記

Alex氏のコメント。

「I like the 60 requests an hour idea. Going with that instead. 」 (1時間あたり 60リクエストってのはいいね、この方向で行ってみよう。)

その上で、もっと制限の間隔を狭めて、1時間に 60リクエストずつってしてみたら?という提案を受けての発言。(で、あってるかな。。。)

これ、確かに上限に達した場合の制限解除までの期間が短くなるのはいいのですが、逆に 更新が集中したりした場合にすぐに制限に達してしまうことになってしまいます。1日中使うことはまずないので、実はこの方向はより厳しい制限だったりするのですが・・・

てなわけで、まだちょっと動向がつかめず。どうなることやら。