【问题标题】:twitter Rate limit exceeded google app enginetwitter 速率限制超出谷歌应用引擎
【发布时间】:2010-07-19 19:13:07
【问题描述】:

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

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

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

【问题讨论】:

    标签: google-app-engine twitter


    【解决方案1】:

    这个问题有关系吗 使用 Google App Engine 云 基础设施

    是的。

    你调用的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 调用的帖子。

    【讨论】:

    • 你是对的 - 对于这个 API,你可以进行身份​​验证,它会根据你的凭据进行速率限制。唯一的例外是搜索或流式 API,它们根本不支持身份验证。
    • 我在注册我的应用时遇到问题,(每次我尝试注册时都会出现 Twitter 错误页面)。因此,获取用户页面(twitter.com/USERNAME)并“解析”页面工作得很好。你的回答看起来很好,所以我认为将其标记为有效是正确的。
    猜你喜欢
    • 1970-01-01
    • 2019-05-08
    • 2011-03-26
    • 2013-05-12
    • 2012-08-10
    • 2011-12-22
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多