我拥有一个自动执行Instagram操作的网站,目前我每小时收到100个喜欢/小时和100个关系帖子(我知道它说关系是60但我已经获得100个)。我强制执行已签名的标题,因为我已经添加了我的电子邮件地址,我发现没有400错误,只是一些建议。
所以我的问题是,我怎样才能找到关于喜欢和关注/取消关注的当前请求限制?我知道在标题中它们提供了与一小时内5,000个请求相比的请求数量,但我想具体了解何时我将获得429" OAuthRateLimitException"错误,所以我不必每小时达到这个限制,我已经注意到在每小时为数百名用户收到此错误后,它对我的应用程序看起来不太好。
如果有人能告诉我如何获得我在一小时内做出的请求数量,那么我可以在收到429错误之前停止,这将是很好的。我使用JavaScript,ajax和PHP来拨打电话。 感谢。
答案 0 :(得分:0)
您可能没有为每个用户使用Oauth令牌。通过这样做,速率限制将根据使用您的应用的人数来缩放。
至于告诉你剩下多少,它应该在HTML标题响应中。来自documentation:
HTTP标头
有关全局速率限制的信息包含在HTTP中 每个来电的响应标题,从而启用您的应用 确定其相对于这些速率限制的当前状态。该 每个响应的标题中提供了以下字段 值与所进行的调用类型相关(经过身份验证或 未认证的):
X-Ratelimit-Remaining:您可以使用的剩余呼叫数 1小时内的应用程序
X-Ratelimit-Limit:1小时内允许的呼叫总数 窗口
答案 1 :(得分:0)
来自手册:
HTTP标头
有关全局速率限制的信息包含在HTTP中 每个来电的响应标题,从而启用您的应用 确定其相对于这些速率限制的当前状态。该 每个响应的标题中提供了以下字段 值与所进行的调用类型相关(经过身份验证或 未认证的):
X-Ratelimit-Remaining :您可以使用的剩余呼叫数 1小时内的应用程序
X-Ratelimit-Limi t:1小时内允许的通话总数 窗口
答案 2 :(得分:0)
应用全局速率限制,包括应用程序在1小时滑动窗口上执行的所有API调用,无论特定端点 。限制彼此独立地应用;经过身份验证的呼叫不会计入未经身份验证的呼叫的速率限制,反之亦然。
HTTP标头
有关全局速率限制的信息包含在每个呼叫响应的HTTP标头中,这使您的应用可以确定其与这些速率限制相关的当前状态。每个响应的标头中提供了以下字段,它们的值与所进行的调用类型(经过身份验证或未经身份验证)相关:
正如您所看到的,它并非特定于端点,而是基于每个访问令牌的总体请求(如果经过身份验证)。
所以我只是想知道是否有可能检查访问令牌当前特定端点的请求数量。