我不清楚Twitter的速率限制,“每个访问令牌/用户每小时350个请求”,意味着什么。他们如何限制请求?在1请求我可以获得多少数据?
答案 0 :(得分:5)
速率限制基于请求,而不是您收到的数据量(例如字节数)。考虑到这一点,您可以使用您正在调用的特定端点的可用参数来最大化请求。我会举几个例子来解释我的意思:
一种方法是将计数(如果支持)设置为最高可用值。在status / home_timeline上,你可以将最大数量计为200.如果你现在没有使用它,你将获得默认值20,这意味着你(理论上)需要再做10次查询才能获得相同的数量数据的。更多查询意味着你吃掉了限速。
再次使用status / home_timeline,请注意您可以使用since_id和max_id分页数据,如Working with Timelines中所述。从本质上讲,您可以跟踪已经请求的推文,这样您就可以通过获取最新的推文来节省请求。
费率限制在15分钟的窗口内,因此您可以调整您的请求,以最大限度地减少在任何给定时间窗口内用完的机会。
使用Streams和请求的组合,这会提高您的费率限制。
还有更多这样的优化可以帮助您保存请求限制,有些更加微妙。查看每个API的速率限制,研究参数以及考虑如何使用API可以帮助您最大限度地降低速率限制。