什么是 API 速率限制? — 免费工具
API 速率限制是平台为一个应用在某个时间窗内可发出的请求数设的上限。工具触发时会发生什么,为什么这是延迟而不是失败,以及它对定时发布和数据分析意味着什么。
平台对一个应用在单位时间内可发起的 API 请求数量设定的上限。一旦触及,发布或分析工具会暂时失败,直到时间窗口重置。
这是什么
速率限制是平台为一个应用在固定时间窗内可以发出的 API 请求数量设的上限:每一刻钟多少次、每小时多少次或每天多少次。它的存在是为了不让某一个应用吃掉大家共享的容量,而且它约束的是应用,不是你。
如何衡量
时间窗才是关键,也是最容易被略过的部分。每小时一千次不等于一千次均匀分布;它的意思是应用可以在一分钟里把配额用光,然后等五十九分钟。配额用完后平台会返回 429,通常还带一个说明何时重置的响应头。做得规矩的工具会读这个头并等待。做得不规矩的会立刻重试、再次被拒,把一次延迟变成一条"失败"的报告。
常见误解
它看起来像你的账号出了问题,其实不是。速率限制里没有任何一部分是对你的主页、你的内容或你的账号状态的评价,正因如此,由它引起的发布延迟会自己恢复,你什么都不用改。与之相邻的混淆是和封禁的区别:从外面看,被限速的应用和被吊销访问权限的应用都像"不能用了"。区别在于,速率限制会告诉你它什么时候结束。
什么时候重要
当很多事情同时发生时它才会显现:一大批内容被排在同一分钟、一个月的数据在回补、或者多个账号同时刷新。所以发布工具会把工作错开而不是整点一起发出,也所以今天早上缺的一个数字,到下午通常就有了。
功能
- 清楚的定义,点明时间窗才是关键
- 429 响应是什么,以及为什么它不是你账号里的错误
- 为什么数据缺口和发布延迟常常出自同一个原因
- 做得好的工具如何等待,而不是立刻重试
- 速率限制和封禁的区别,从外面看两者很像
常见问题
触发速率限制会发生什么?
平台会拒绝后续请求,直到时间窗重置,通常返回 429。做得好的工具会等待并重试;做得差的会报告一个从来不属于你的失败。
触发限制会影响我的账号吗?
不会。这是对一个应用的上限,不是对你的处罚。一直硬撞限制而不退让,可能让那个应用本身被限制,但那是它的状态,与你的主页无关。
为什么我的数据里少了一天?
速率限制是常见原因之一。指标是逐条向平台查询后收集的,所以用尽的时间窗会留下一个缺口,这个缺口会在下一轮补上,而不是永远不来。
这和限流(shadowban)是一回事吗?
不是,尽管两者常被混淆,因为都像是悄悄不工作了。速率限制是有明确重置时间和响应码的成文上限,而分发下滑两者都没有。
我能提高限制吗?
作为工具的使用者不能。限制由平台按应用设定,取决于该应用获得的访问层级,所以答案永远在工具那一侧,而不在你的设置里。