当前位置: 首页 > 知识库问答 >
问题:

客户端id的Instagram速率限制仅适用于未经身份验证的API请求吗?

暴骏奇
2023-03-14

Instagram对客户端id和个人访问令牌都提供了速率限制。两个限制都是5000/小时。

我需要知道客户端id限制是否与已验证的请求有关。

1)我的所有请求都将通过,因为每1000个请求都会被计入访问令牌限制

2)我的第5000个请求将会失败,因为我将使用相同的客户端ID发出超过5000个请求?

共有1个答案

爱海
2023-03-14

每个访问令牌有5000个请求。这意味着只要您正在对用户进行身份验证并使用他们的访问令牌,在您的示例中每个用户就应该有4000个剩余。要知道还有很多其他的事情/方法可以让你节流。

以下是一些小贴士:

>

  • 不要并行发出太多调用。这可能看起来像是对Instagram的滥用/拒绝服务攻击,他们可能会暂时/永久地禁止你。因此,如果您的卷可能很高,请使用速率限制机制,例如队列。如果请求由于网络问题或api限制而失败,那么这还可以带来持久的好处。

    访问令牌随时可能过期。如果您的请求是长时间运行的,请注意这是您可能需要处理的错误条件。

    如果您尝试将调用批处理为较小的批量调用,则可以保存API调用。例如,如果数据集很小,并且您知道项目将在最近的媒体中,那么迭代用户的所有项目以查找一个带有标记的媒体项目与浏览标记本身可能是不同的。选择最小可能的结果集,并从那里开始,如果您正在进行任何自己的浏览/过滤。

    来自Instagram API文档:

    每个access_token或client_id每小时被限制为5000个请求。实际上,这意味着您应该(在可能的情况下)对用户进行身份验证,使其限制远远超出给定用户的范围。

  •  类似资料:
    • 问题内容: 我有以下代码: 现在,第二个http调用失败,出现401访问被拒绝错误。不同的REST客户端(firefox插件)可以正确地从服务器获取详细信息,因此我知道服务器端没有错。我是否需要传递某种会话字符串或上次请求中获得的内容? 问题答案: 好的。我已经解决了。我只需要创建一个饼干罐。 我很惊讶golang http req / client类没有默认处理此问题。 我必须使用的代码是: 然

    • 在40次呼叫users.settings.filters.create后,我开始收到用户速率限制错误。所有未来的filters.create呼叫在接下来的(大约)24小时内都会失败。下面是特定的错误消息。 HTTP 429“超出了用户速率限制。请在2021-05-19T07:24:15.104Z(转发规则)]位置[-]原因[rateLimitExceeded]域[global]后重试” 每次通话之

    • 我正在使用SpringWebFlux和netty构建一个微服务。在内部,我使用web客户端进行RESTAPI调用。如何控制通过webclient调用RESTAPI的速率?我猜backnpressure只适用于单个请求/回复,不适用于对我的微服务的多个请求。Amy pointers将不胜感激。谢谢

    • 同步-向API发出一批请求,并定期将响应保存到我的数据库。 客户端-从我的客户端的用户向API请求的传递。 服务的文档指定了在给定时间段内可以发出的最大请求数的以下规则: 在一天中: null null 超过这些限制不会导致立即锁定-不会抛出任何异常。但供应商可能会感到恼火,联系我们,然后禁止我们使用他的服务。因此,我需要有一些请求延迟机制,在适当的地方,以防止这一点。我是这样看的: 最安全和最简

    • 我的代码在这里:代码重新发布是因为我想问一个更直接的问题。如何在未经身份验证的用户和经过身份验证的用户之间切换?我的未经验证的文件似乎已缓存,我使用了以下方法: 在我剩下的api代码之前,它仍然不能工作。谢谢你的帮助 注意:我知道它不起作用,因为我在切换配置/凭据提供程序后立即使用lambda进行调用,并且只有授权用户才能调用此方法。 编辑@behrooziAWS答案: API代码: 完整错误:B

    • 问题内容: 我正在尝试在python中使用基本身份验证 响应表单 auth 变量: 但是,当我尝试从其他位置获取数据时-我收到401错误 据我了解-在第二个请求中不是替换的会话参数。 问题答案: 您需要使用会话对象,并向 每个请求 发送身份验证。该会话还将为您跟踪Cookie: