Twitter API返回HTTP 429-请求太多

Twitter API返回HTTP 429-请求太多,http,twitter,https,http-status-code-429,Http,Twitter,Https,Http Status Code 429,我创建了twiiter应用程序,并创建了一个从TwitterAPI获取数据的循环 它显示出错误 [raw] => HTTP/1.1 429 Too Many Requests [content-type: application/json; charset=utf-8 date: Fri, 29 Mar 2013 20:03:07 UTC server: tfe set-cookie: guest_id=v1%3A136458738755627462; Domain=.twitter.co

我创建了twiiter应用程序,并创建了一个从TwitterAPI获取数据的循环 它显示出错误

[raw] => HTTP/1.1 429 Too Many Requests
[content-type: application/json; charset=utf-8
date: Fri, 29 Mar 2013 20:03:07 UTC
server: tfe
set-cookie: guest_id=v1%3A136458738755627462; Domain=.twitter.com; Path=/; Expires=Sun, 29-Mar-2015 20:03:07 UTC

如何修复它

您尝试请求更新的次数太多。等待一小时,然后重新运行应用程序,但每5分钟只查询一次Twitter。

有一篇关于Twitter的长文章

15分钟窗口

API版本1.1中的速率限制被划分为15分钟的间隔,这与版本1.0中的60分钟间隔有所不同。此外,所有1.1端点都需要身份验证,因此不再存在未经身份验证的呼叫和速率限制的概念

在API的版本1中,启用OAuth的应用程序每小时可以为每个访问令牌启动350个基于GET的请求,而API v1.1的速率限制模型允许通过每个方法请求限制实现更大范围的请求。GET请求有两个初始存储桶:每15分钟15个调用,每15分钟180个调用

该页面显示哪种资源允许每15分钟有多少个请求


在15分钟的窗口内提出更少的请求。您可以缓存来自API的响应并从中读取数据,而不是通过每次查询API来刷新数据。例如,不要每次用户单击按钮时都查询主时间线,而是读取先前的缓存结果。然后为缓存设置一个超时,这样缓存的数据就不会过时太多。

我发现一些东西可以帮助您: 将此设置为等待速率限制=真

tw.API(auth,wait_on_rate_limit=True)

提出更少的请求?:)在许多情况下,使用流式API可以更好地处理循环的情况。