【发布时间】:2013-09-25 20:29:43
【问题描述】:
我不清楚 Twitter 速率限制“每个访问令牌/用户每小时 350 个请求”是什么意思。他们如何限制请求?在 1 个请求中我可以获得多少数据?
【问题讨论】:
我不清楚 Twitter 速率限制“每个访问令牌/用户每小时 350 个请求”是什么意思。他们如何限制请求?在 1 个请求中我可以获得多少数据?
【问题讨论】:
速率限制基于请求,而不是您接收的数据量(例如字节)。考虑到这一点,您可以使用您正在调用的特定端点的可用参数来最大化请求。我会举几个例子来解释我的意思:
一种方法是将计数(如果支持)设置为最高可用值。在 statuses/home_timeline 上,您最多可以计数 200。如果您现在不使用它,您将获得默认值 20,这意味着您(理论上)需要再执行 10 次查询才能获得相同的数量数据的。更多的查询意味着你吃光了速率限制。
再次使用 statuses/home_timeline,请注意您可以使用 since_id 和 max_id 对数据进行分页,如 Working with Timelines 中所述。从本质上讲,您可以跟踪您已经请求的推文,这样您就可以通过仅获取最新推文来节省请求。
速率限制在 15 分钟的窗口内,因此您可以调整您的请求,以尽量减少在任何给定时间窗口内用完的机会。
结合使用Streams 和请求,这会增加您的速率限制。
还有更多类似的优化可以帮助您节省请求限制,其中一些比其他优化更微妙。查看每个 API 的速率限制、研究参数并思考 API 的使用方式可以帮助您最大限度地减少速率限制的使用。
【讨论】: