2010年10月19日火曜日

Google Buzz API にはrate limitingはあるのか?geoで検索は可能か?

Google Buzz APIを調査。

今年のGoogle I/OでBuzz APIがお披露目されてから5ヶ月程経つ。まだそれほど利用出来る機能はないかなと思っていたが、予想以上にAPIが整理されていて驚いた。

・RESTでBuzz APIを利用するためのドキュメント
Developer's Guide (v1): Using REST - Google Buzz API - Google Code

・OACurl(curlを使ったコマンドラインユーティリティ)を使ってBuzz APIを利用するためのドキュメント
OACurl Cookbook (v1) - Google Buzz API - Google Code


TwitterのAPIで気になっていた点である、位置情報に基づく検索は可能か、リクエストに回数制限はあるのかなどをまず調べる。


1. 位置情報に基づく検索は可能か

可能。

・lat/lon, radiusを指定してのBuzz検索
例:
https://www.googleapis.com/buzz/v1/activities/search?prettyprint=true&lat=42.370498&lon=-71.083603&radius=100&alt=atom

・places IDを指定してのBuzz検索
例:
https://www.googleapis.com/buzz/v1/activities/search?prettyprint=true&pid=CkQ6AAAA11-ykKK8mNCmfSTu9mOJzycQEMmYhAHcmOBt_G0IfZaA-0bPCDUTZaLKnskzqipJi3ljzUqlJ3SUvqL2GpyThRIQOPA13i2LQ3ttW4skW22YyxoUzIpT90QeEa9nswO7XqpywYuyErQ&alt=atom

・バウンディングボックスを指定してのBuzz検索
例:
https://www.googleapis.com/buzz/v1/activities/search?prettyprint=true&bbox=-79.38728,43.64183,-79.36265,43.66737&alt=atom


また、lat/lon, radiusなどでフィルタリングして、なおかつ、firehoseのようなリアルタイムな更新情報を取得することも出来る。但し、PubSubHubbubを使うのが前提。

例:
https://www.googleapis.com/buzz/v1/activities/track?q=query&lat=latitude&lon=longitude&radius=radius

このリクエストの結果では、PubSubHubbubのリアルタイム更新で必要となるフィードのメタデータが取得できる。


2. リクエストに回数制限(rate limiting)はあるのか

ある。

書き込みや更新系の処理は、1ユーザあたり1500回/時。
その他のリクエストは、1IPあたり50回/秒。
制限を緩和して欲しい場合はフォーラムに問い合わせてくれとあるが、十分な数だ。

Are Buzz API requests rate limited?
Yes, requests to write or modify data are limited to 1500 requests per hour, per user. All other requests are limited to 50 requests per second, per IP address. If you require a higher limit, please inquire in the forum.


ちなみに、PubSubHubbubを使った時もこのrate limitingが適用されるのかは分からない。


次は、実際にAPIを試してみて、具体的なlat/lanを含んだBuzzがどれだけあるのか確認してみよう。