Twitter请求频率超限。客户端每小时最多可发350个请求
我在我的应用中使用Tweepy,发送不超过10条推文和更新时间线大约20到30次后,常常会遇到这个异常。
Rate limit exceeded. Clients may not make more than 350 requests per hour.
为了更新时间线,我使用了时间线函数,并限制最多显示40条推文。
所以我不知道到底发生了什么,也许每发送一条推文就会有不同的API调用,或者类似的情况。
你知道哪种请求会消耗更多的API调用吗?或者什么时候会使用多个请求?
有没有关于如何更好地使用Twitter API调用的建议?
提前谢谢你。
3 个回答
1
我只是有个直觉,虽然这个限制是以每小时请求次数来表示的,但并不意味着它是每小时来测量或执行的。
4
这是你的好帮手 -> Twitter API 的速率限制
花点时间阅读这个文档吧。
头信息
在响应中会返回一些速率限制状态的头信息,这些可能会对你有帮助。可以考虑在调试时记录这些信息。如果你的请求来自不同的IP地址,你可能会看到每次响应中报告的配额和使用情况不同。
白名单
如果你有很多用户,可以考虑把你服务器的IP地址加入白名单,这可能是一个解决方案。
有些托管服务提供商已经在白名单中,比如 Google App Engine。
4
>>> 3600./350
10.285714285714286
每11秒钟只发一条推文。