Statigram 等网页如何不超过 Instagram API 速率限制
Posted
技术标签:
【中文标题】Statigram 等网页如何不超过 Instagram API 速率限制【英文标题】:How webpages like Statigram doesn't exceed Instagram API rate limits 【发布时间】:2013-08-09 22:11:58 【问题描述】:嗯,和罐头上写的差不多。
我真的很好奇像 Statigram 这样的页面如何在没有用户身份验证且不超过限制的情况下执行搜索功能?
如果我是正确的,Instagram API 允许每小时 5000 次调用,所以我相信他们的流量确实很可能超过每小时 5000 次请求。
也许这是一个愚蠢的问题,Statigram 与 Instagram 签订了使用他们的 API 的特殊协议,或者他们不使用 API 而是使用其他方法?
【问题讨论】:
特殊交易、凭证/IP 地址轮换、大量缓存或屏幕抓取。 感谢@RunscopeAPITools,非常感谢您的回答,如果您不介意我会等待其他人回复以查看其他意见,请将您的评论作为答案,以便我稍后标记它已解决。 @RunscopeAPITools BTW,这些方法不会违反社交网络的使用条款(当然,除了特殊交易)? 他们与 Instagram 没有任何特殊安排,如果您阅读 API 文档,您会看到他们鼓励应用程序开发人员授权用户(如 Statigr.am 所做的那样),该应用程序具有特定于该应用程序的 access_token用户,因此,永远不会达到限制:) @jsmoove88 如果网站不要求用户使用 Instagram 登录和授权,那么他们只需使用分配的客户端 ID/秘密来调用 Instagram API,即每次 5000 个请求小时。但是,如果一个网站确实使用 Instagram 登录用户,那么作为该过程的一部分,该网站将获得一个特定于该用户的 access_token,可用于调用 Instagram API - 所以每小时 5000 个请求,每user = 你(可能)不会受到速率限制。 【参考方案1】:您必须向 Instagram 发送的唯一特殊请求是发布 cmets 的请求。
API 限制为每个 access_token
或 client_id
每小时 5000 个请求。每个用户都有自己的access_token
,因此只要来自第三方应用程序的请求使用每个单独的访问令牌,他们将很难超过每个用户每小时 5000 个。
这相当于每分钟 83 个请求,任何与您的应用程序交互的用户都不太可能达到这个目标。
来自文档:
每个 access_token 或 client_id 每小时的请求数限制为 5000 个。实际上,这意味着您应该(在可能的情况下)对用户进行身份验证,以使限制远远超出给定用户的范围。
如果您不使用用户身份验证,则可能仅使用 client_id
就会达到限制。
【讨论】:
这应该是选择的答案。 我也是第二好的答案。它实际上回答了问题,而不是完整的假设。【参考方案2】:他们很可能正在使用以下方法之一:
与 Instagram 的安排 凭证轮换 IP 轮换 大量缓存(尤其是跨凭据或 IP) 截屏在这种情况下,如果您没有特殊安排,则几乎可以肯定您违反了服务条款。如果您认为您的服务足够有用,Instagram 愿意将您列入白名单以提出更多请求,请与他们联系。
【讨论】:
关于限制来自同一个 access_token 而不是 IP 的请求。 同意 - 与 IP 轮换无关【参考方案3】:正如@RunscopeAPITools 所提到的,他们必须与 Instagram 有某种安排。您可以从 Statigram 将 cmets 发布到 Instagram,这需要特殊许可。
【讨论】:
以上是关于Statigram 等网页如何不超过 Instagram API 速率限制的主要内容,如果未能解决你的问题,请参考以下文章
如何解决VB中WebBrowser控件持续打开网页占用的内存