Spotify Web API速率限制

Lar*_*son 21 spotify

spotify Web API文档提到了速率限制.例如,授权指南说明了这一点:

只能访问不访问用户信息的端点.它的优点是,与没有访问令牌的Web API请求相比,应用了更高的速率限制.

作为开发人员,我需要担心速率限制吗?如果我超过了我的速率限制,对Web API的请求是否会失败,如果是这样,那么失败会是什么样的?

提前致谢.

Mic*_*lin 19

您可以在" 用户指南"中找到有关速率限制的一般信息.如状态代码中所述,如果您的应用程序发出的请求多于允许的速率限制,则Web API将返回HTTP状态代码429(Too Many Requests).

如果发生这种情况,您应该再次提出请求之前等待一段时间(请参阅下面的更新).当然,最好的办法是尽量避免首先达到速率限制.正如用户指南所建议的那样,您可以通过例如一次访问某些端点可用的多个实体来实现此目的.您还可以缓存响应.

更新:如果您的速率有限,HTTP响应将包含名为"Retry-After"的标头.此标头的值是您在进行下一个请求之前需要等待的秒数.例如,Retry-After:4意味着您需要等待四秒才能再次尝试.现在,Web API用户指南中也提到了这一点.

  • 看起来Retry-After值是从毫秒计算的,向下舍入到最接近的秒.例如,如果Spotify要删除3200MS中的速率限制,则会收到Retry-After标头3.在点上3秒后再次运行请求将意味着您的代码可能会违反200MS差异.因此,您应该始终+1到Retry-After值. (7认同)
  • @MichaelThelin是否有任何数字约.像每分钟n个请求 (3认同)
  • 我不认为是这样。通常,当我发出太多请求太快时,我会收到 500 错误... (2认同)
  • 没有披露的原因是因为这个数字可能会在没有警告的情况下改变.使用Retry-After _should_足以能够编写处理速率受限的应用程序.也就是说,依靠每秒大约10-20个请求,会让你进入正确的球场. (2认同)