api - 客户端 ID 的 Instagram 速率限制是否仅适用于未经身份验证的 API 请求?

标签 api instagram rate-limiting

Instagram 对客户端 ID 和个人访问 token 均提供速率限制。两个限制均为 5000/小时。

我需要知道客户端 ID 限制是否考虑到经过身份验证的请求。

来 self 的客户端 ID 的所有请求都将经过身份验证(使用访问 token )。因此,如果我有 10 个 token ,并且在同一小时内使用每个访问 token 发出 1000 个请求,导致总请求数为 10000 个,那么将会发生以下情况:

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

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

最佳答案

每个访问 token 您会收到 5000 个请求。这意味着只要您对用户进行身份验证并使用他们的访问 token ,示例中的每个用户就应该剩下 4000 个。请注意,还有许多其他事情/方式可能会导致您受到限制。

这里有一些提示:

  1. 不要并行发出太多调用。这可能看起来像是对 Instagram 的滥用/DOS 攻击,他们可能会暂时/永久禁止您。因此,如果您的流量可能很大,请使用速率限制机制,例如队列。这个可以有 如果请求由于网络问题或 API 限制而失败,则具有持久性的额外好处。

  2. 我观察到并听说某些调用(例如点赞/关注)的限制要低一些,更像是 300。如果您只是获取媒体和浏览源,那么这不应该是一个问题。问题。

  3. 访问 token 可能随时过期。请注意,如果您的请求长时间运行,则这是您可能需要处理的错误情况。

  4. 如果您尝试将调用批量化为较小的批量调用,则可以保存 API 调用。例如,如果数据集很小并且您知道该项目将位于最近的媒体中,则迭代所有用户的项目以查找带有标签的 1 个媒体项目与浏览标签本身之间可能存在差异。如果您要进行自己的浏览/过滤,请选择最小的可能结果集并从那里开始。

来自Instagram API Docs :

Limits Be nice. If you're sending too many requests too quickly, we'll send back a 503 error code (server unavailable).

You are limited to 5000 requests per hour per access_token or client_id overall. Practically, this means you should (when possible) authenticate users so that limits are well outside the reach of a given user.

关于api - 客户端 ID 的 Instagram 速率限制是否仅适用于未经身份验证的 API 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178643/

相关文章:

delphi - 修改exe资源中的字符串

java - 有没有办法使用 Java 程序在 Microsoft Azure 中创建虚拟机?

javascript - 如何使用 jQuery.getJSON 从本地主机上的 API 获取 JSON 数据

instagram - 通过脚本/在线/程序发布到 Instagram。什么都好,但移动

swift - 使用 Swift 在图像上显示标记的用户名

javascript - 如何在 Javascript 中将按钮的点击次数限制为每分钟一次

facebook - 任何人都知道 Facebook 聊天机器人发送限制?

ruby-on-rails - ActiveModel 序列化程序 : How do I serialize a resource collection?

instagram - 如何从 Instagram API 获取选定时间范围内增加和失去的关注者数量?

mysql - 查找存储在 MySQL 行中的日期,在一个查询中查找该日期之后的所有条目