Twitter速率限制超出谷歌应用程序引擎

时间:2010-07-19 19:13:07

标签: google-app-engine twitter

我正在使用谷歌应用引擎,并希望从给定用户下载推文。

我只是打电话给http://api.twitter.com/1/statuses/user_timeline/USERNAME.json

但几乎总是(大约99%)我得到“超出速率限制。客户每小时可能不会超过150个请求”这个问题是否与Google App Engine云基础架构有关?我该怎么办? (例如在其他服务器上存储数据然后从那里调用...)

1 个答案:

答案 0 :(得分:8)

  

这个问题有什么关系吗?   使用Google App Engine Cloud   inrastructure

您调用的API方法是rate-limited

  

呼叫的默认速率限制   REST API每小时150个请求。   REST API确实是帐户和   基于IP的速率限制。经过身份验证   API调用是收费的   验证用户的限制   未经身份验证的API调用将被扣除   来自呼叫IP地址'   分配。

如果您的应用拥有专用IP,这可以正常工作;在App Engine上,许多应用程序可能会为其urlfetch请求使用相同的源IP,因此对Twitter API的未经身份验证的请求都将从相同的配额中提取。

我没有对此进行测试,但我的理解是即使对于不需要身份验证的呼叫,如果您选择对您的请求进行身份验证,也会计入您的帐户配额而不是共享的IP配额。

Nick Johnson发布了a tutorial关于如何从App Engine向Twitter发送经过身份验证的API调用的信息。