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

jua*_*ren 3 twitter google-app-engine

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

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

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

Dre*_*ars 8

这个问题是否与Google App Engine云基础架构有关

是.

您调用的API方法是速率限制的:

调用REST API的默认速率限制是每小时150个请求.REST API执行基于帐户和IP的速率限制.经过身份验证的API调用将从身份验证用户的限制中收费,而未经身份验证的API调用则从调用IP地址的"分配"中扣除.

如果您的应用具有专用IP,这可以正常工作; 在App Engine上,许多应用程序可能会对其urlfetch请求使用相同的源IP,因此对Twitter API的未经身份验证的请求将全部来自相同的配额.

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

Nick Johnson发布了一个关于如何从App Engine向Twitter发送经过身份验证的API调用的教程.