【问题标题】:Twitter API limitations: anonymous vs authenticatedTwitter API 限制:匿名与经过身份验证
【发布时间】:2011-01-29 14:14:43
【问题描述】:

这里http://developer.twitter.com/pages/rate-limiting我们可以读到:

  • 匿名呼叫基于主机的 IP,每小时允许 150 个请求。此分类包括未经身份验证的请求(例如 RSS 提要),以及对不需要身份验证的资源的经过身份验证的请求。
  • OAuth 调用每小时允许 350 个请求。

正如我们在http://dev.twitter.com/doc/get/users/show 看到的那样 - 它不需要身份验证。

所以我预计我的本地主机将在 150 个请求后达到访问 users/show/zerkms 端点的限制。但我能够执行所有 350 个请求。

真相在哪里?

【问题讨论】:

  • 你还在登录 twitter.com 吗?也许它认出了你并允许它。
  • @Merijn:是的,我在我的应用程序中通过了身份验证。但正如文档所说 - 这不应该依赖于不需要身份验证的请求。
  • 有趣。请参阅dev.twitter.com/pages/rate_limiting_faq#measurement(Twitter 客户端中的多个用户帐户每个都有自己的用户速率限制,但共享未经身份验证的请求......)。可能 Twitter 团队最近在没有更新文档的情况下更改了内部结构。
  • @Konstantin Mikhaylov:是的,我也看到了 ;-)

标签: twitter


【解决方案1】:

如果您向 Twitter 发送身份验证标头,那么您的速率限制将是经过身份验证的速率限制,即每小时 350 次对有限资源进行速率的请求,这与您是否调用不需要身份验证的方法无关。

因此,由于您已通过身份验证,因此您可以销毁 350 个 API 调用。如果您未经身份验证,您只能拨打 150 次电话。

编辑: 我相信您指定的文档确实不正确。对不需要身份验证的资源的经过身份验证的请求不受未经身份验证的速率限制。相反,它们受当前认证帐户的速率限制限制。

例如,如果我对 users/show(不需要身份验证的资源)进行身份验证调用,HTTP 响应上的速率限制标头会显示 X-RateLimit-Limit: 20000,X-RateLimit-Remaining:19999。如果我随后立即向 users/show 发起未经身份验证的调用,我的速率限制标头将显示 X-RateLimit-Limit: 150, X-RateLimit-Limit: 149。 p>

【讨论】:

  • 你能参考文档吗?正如我在问题中引用的那样:“此分类包括未经身份验证的请求(例如 RSS 提要),和对不需要身份验证的资源的经过身份验证的请求。”。
  • @zerkms - 明白了。我认为文档现在不正确,因为我从未看到文档中描述的行为。如果您已通过身份验证,那么您将获得基于您的身份验证模式和白名单状态的调用次数。如果您未通过身份验证,则您有 150 个调用。我认为有问题的行应为“匿名调用基于主机的 IP,每小时允许 150 个请求。此分类包括未经身份验证的请求(例如 RSS 提要)。”
  • @arcain:是的,我也看到了,但是我的应用程序实现可能会因限制而有所不同;-) 这就是我问这个问题的原因。谢谢你证实了我的想法。 +1
  • @zerkms - 我编辑了我的答案以包含一些确凿的数据。
  • @arcain: 是的,我也看到了X-RateLimit-Limit: 350(你是如何获得 20k 的?!?!)但我仍然希望我会在 200 (350-150) 上获得限制。
【解决方案2】:

要求身份验证和支持身份验证是有区别的。如果您提供身份验证,在大多数情况下,Twitter API 会将其视为经过身份验证的请求。如果您想确保您的请求被评估为未经身份验证,请不要发送身份验证。

【讨论】:

  • 这种差异在哪里描述?还是只是你的想法?
【解决方案3】:

我认为它与http://dev.twitter.com/doc/get/statuses/followers 和旧的“基本身份验证”有关,因为它以“取决于授权方法”开头(即使现在只有一种方法?)。它不需要身份验证,但在某些情况下确实需要。

为了让开发人员转向 OAuth,他们提高了使用 OAuth 完成 API 调用时的速率限制;这就是第二个语句所说的。

【讨论】:

    猜你喜欢
    • 2019-03-06
    • 2019-01-09
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 2018-07-22
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多