【问题标题】:Pinterest API and Rate LimitingPinterest API 和速率限制
【发布时间】:2017-03-01 20:40:53
【问题描述】:

我对 Pinterest API 及其速率限制有疑问。在 Pinterest 的网站上,它声明:

对于每个唯一的用户令牌,每个应用程序(具有唯一的应用程序 ID)每小时允许每个端点进行 1000 次调用。 60 分钟窗口是一个滑动窗口,基于您提出第一个请求的时间。如果您达到了速率限制,您最多只需等待 1 小时即可获得更多请求。

我从未使用过 Pinterest API,但根据上面所说的,我可以对用户进行身份验证,然后该用户每 1 小时最多可以调用 1000 次 API - 对吗?

我收到了来自 Facebook 用户社区的许多请求,要求我使用 API 构建基于 Web 的应用程序。但为了让我这样做,我必须能够平衡一些 API 调用。因此,澄清 Pinterest 的速率限制会有所帮助。

【问题讨论】:

  • 您能说明一下您的应用程序要做什么吗?读访问和写访问是有区别的。如果您的应用程序将类似于 Pinterest 内容阅读器,那么您可能会遇到该限制的问题(可以通过缓存更大的 API 结果集并在一小时内分散缓存更新来解决该问题)。如果您的应用只需要写入权限(例如固定内容),那么我怀疑一个普通用户每小时能够固定 1000 个不同的项目。在我看来,这更像是机器人活动,因此存在限制。
  • 这个想法是让用户从 Facebook 群组中复制和粘贴网址,并且该应用程序将仅解析 Pinterest 链接及其 ID(我已经为 Twitter 创建了类似的内容,它工作)然后从那里,根据这些 id 和返回的 pin 数据,它建议一个基于用户登录的板。一旦所有内容都被过度查看和批准 - 他们点击提交,然后应用程序会将这些固定到通过 API 选择的板。
  • 我明白了...所有这些都需要代表您的用户进行手动交互。他们必须复制和粘贴链接(最多多少个?),然后单击一个按钮以固定到他们选择的板上。每小时 1000 个 API 请求可以分解为每分钟约 16 个。如果您担心您的用户会大量发布 Pinterest URL,那么您可以在您的应用服务器上为您的用户缓存 pin 和可能的董事会名称推荐数据。最终,您的用户每分钟将进行 16 到 17 次固定板操作。我相信这真的很慷慨,我也怀疑用户会那么活跃。

标签: php api oauth pinterest


【解决方案1】:

我已经使用 Pinterest 开发了一个应用程序并不断维护该应用程序。正如文档所说,对于任何给予应用程序,您应该能够拨打 1000 次电话(每个端点)(每小时)。 Pinterest 有许多不同的端点,因此您应该能够每小时为每个不同的端点进行 1000 次调用,而不仅仅是 1000 次调用。

你可以在这里看到许多不同的端点Pinterest API Tool

对于每个不同的用户,您可以在 1 小时内:

  1. 为端点设置 1000 个引脚 > /v1/pins/
  2. 再调用 1000 次 /v1/boards/ 以创建板
  3. 还有另外 1000 次调用 /v1/me/following/boards// 以取消关注多达 1000 个关注者

等等……

Joy Breaker 关注: 起初我的应用程序就像我上面描述的那样工作,然后出乎意料的是,该应用程序似乎为所有端点总共获得了 1000 次调用。每次我联系他们的支持人员时,我都会收到一个自动回复,该回复会复制您在文档中的问题中引用的确切文本。所以我不确定 Pinterest 是否理解他们自己的文档,或者他们的 api 中的编程技能或错误 所以准备好迎接冲击吧!

【讨论】:

    【解决方案2】:

    我想提供有关 Pinterest API V3 的这个问题的更新。根据此处的文档 (https://developers.pinterest.com/docs/redoc/pinner_app/#section/Client-Authorization/Make-API-requests),速率限制取决于您使用的端点以及您获得的访问权限类型。

    我已将相关文档粘贴在下面:

    广告速率限制 广告端点(例如 /ads/v3/* 列在 ENDPOINTS - ADS(V3)) 遵守 4 种速率限制类别中的任何一种。

    • READ - 每秒 500 次查询。 • READ HIGH - 每次 1000 次查询 分钟。 • WRITE - 每分钟 400 次查询。 • 指标 - 每 1000 个查询 分钟。

    您可以通过查看广告端点规范找到此信息。例如, 获取交付指标的定义具有 READ 的速率限制类别。

    注意:对同一速率限制类别的 API 调用是累积的,即使 如果这些调用分布在不同的端点上。

    广告 API 响应标头您可以检查响应标头以 确定呼叫的限制和剩余次数。

    • x-userendpoint-ratelimit-limit - 速率限制 • x-userendpoint-ratelimit-remaining - 剩余通话次数 • x-userendpoint-ratelimit-reset-seconds - 直到的秒数 剩余值被重置。

    例如,最新的响应头将表示限制为 1000, 剩余 997 秒,如果您进行 3 次 API 调用,则重置秒数为 40 在过去 20 秒内具有 READ HIGH 类别的任何端点。

    Organic 速率限制 Organic 端点​​(例如 /v3/* 列在 ENDPOINTS - ORGANIC(V3)) 遵守更通用的速率限制。

    有机 API 响应标头您可以检查响应标头以 确定呼叫的限制和剩余次数。

    • x-userendpoint-ratelimit-limit - 速率限制 • x-userendpoint-ratelimit-remaining - 你的剩余通话次数 已在 60 分钟窗口内离开。

    例如,最新的响应头将表示限制为 100000 如果您对任何 Organic 端点​​进行 3 次 API 调用,则剩余 99997 在过去 60 分钟内。

    注意:您的速率限制可能因集成类型而异 你目前有。我们建议您检查响应标头 有机端点调用以确定适用于哪个速率限制 你的应用程序。

    超出速率限制如果您超出速率限制,您将收到 429: 请求错误代码过多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多