Twitter APIとGAE開発で便利なツール&ワザ (4/5)
2010年05月20日 11時00分更新
Twitter API & GAE開発で知っておきたいこと
最後に、Twitter APIとGAE開発の組み合わせでWebサービスを開発するときに、知っておきたいことを紹介します。
■Twitter APIのホワイトリスト申請
Twitter APIには、いくつかのメソッドに「呼び出し回数制限」があります。
Twitter API Wiki - Rate limiting
http://apiwiki.twitter.com/Rate-limiting
Twitter まとめWiki - API規制
http://usy.jp/twitter/index.php?Twitter%20API#id8af6d0
この制限はTwitter側の負荷を抑えるために必要な措置であり、APIの悪用を防ぐために仕方が無いものですが、開発者にとっては正直あまりうれしくありません。 特に頭が痛いのは「Webサービス」の場合です。Webサービスの場合、それぞれのマシンで実行されるクライアントアプリケーションと違って、Twitter APIを直接呼び出すサーバーのIPアドレスは固定ですから、Twitter側からすると「ある特定のIPアドレスからアクセスが集中している」ことになり、あっという間に制限回数に達してしまいます。
そこでTwitterでは「ホワイトリストの申請」を受け付けています。TwitterのホワイトリストにサーバーのIPアドレスを追加してもらい、アクセス制限の一部を除外してもらうわけです。
Twitter – Request whitelisting
http://twitter.com/help/request_whitelisting
※Twitter API Keyを登録したTwitterアカウントでログインして下さい
申請画面で必要なのは、
- ホワイトリストに入れてほしいサーバーのIPアドレス
- 開発するTwitterアプリケーションの内容や、利用するTwitter APIメソッド
- 自分のメールアドレスなどの連絡先
以上の情報です(検証していませんが、一応英語で書いたほうが確実だと思います)。
「このIPアドレスはサーバーだからホワイトリストに入れてほしい」と申請すると、Twitter側から「ホワイトリストに追加した」あるいは、何らかの理由で許可できない、との返事が返ってきます。
ところが、ここでもう1つ問題があります。GAEのサーバーの正確なIPアドレスを我々は知らない、ということです。自分で管理しているサーバー、あるいは個別に借りているサーバーであればIPアドレスは分かりますが、クラウドサービスであるGAEは実体がどういうものなのか、開発者には分からないのです。これでは申請ができません。そこで有用な情報を提供してくれているのがこちらのページです。
Twitter APIでホワイトリストを申請するときのコツ
http://d.hatena.ne.jp/kagigotonet/20100324/1269402813
Streaming API云々……とのやり取りがありますが、最初から「Google App Engineを使っている」と書いておけば、そのまま申請が通るようです(こちらは私が実際に確認済みです)。ちょっと面倒な話ですが、無料でTwitter APIを使わせてもらうわけですから、必要な手続きとして覚えておきましょう。