我正在使用谷歌应用程序引擎,并且想从给定用户下载推文。
我只是简单地打电话http://api.twitter.com/1/statuses/user_timeline/USERNAME.json http://api.twitter.com/1/statuses/user_timeline/USERNAME.json
但几乎总是(大约 99% 的时间)我收到“超出速率限制。客户端每小时不得发出超过 150 个请求”此问题是否与 Google App Engine 云基础设施有关?我该怎么办? (例如,将数据存储在其他服务器上,然后从那里调用......)
这个问题与 Google App Engine 云基础设施有关吗
Yes.
您调用的 API 方法是限速 http://apiwiki.twitter.com/Rate-limiting:
呼叫的默认速率限制
REST API 每小时 150 个请求。
REST API 负责帐户和
基于IP的速率限制。已认证
API 调用费用为
验证用户的限制,同时
未认证的API调用将被扣除
来自呼叫 IP 地址'
分配。
如果您的应用程序有专用 IP,则此方法可以正常工作;在 App Engine 上,许多应用程序可能会使用相同的源 IP 来执行 urlfetch 请求,因此对 Twitter API 的未经身份验证的请求都将使用相同的配额。
我还没有对此进行测试,但我的理解是,即使对于不需要身份验证的呼叫,如果您选择对请求进行身份验证,也会将其计入您的帐户配额而不是共享 IP 配额。
尼克·约翰逊发布教程 http://blog.notdot.net/2010/02/Writing-a-twitter-service-on-App-Engine了解如何从 App Engine 向 Twitter 发送经过身份验证的 API 调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)