问题标签 [ratelimit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

facebook - 页面公共内容访问速率限制

在大多数情况下,应用程序必须通过应用程序审查才能获得从 Facebook Graph API 提取数据的权限。

如果应用程序在 Graph API 中获得页面公共内容访问权限,并且该权限用于从选定数量的页面中收集公共数据,那么速率限制是如何计算的?

据我了解,Graph API 中有两种速率限制,

  • 用户速率限制
  • 页面速率限制

使用页面公共内容访问从公共页面读取数据时使用哪一个?这在文档中的任何地方都没有具体说明,这对于我们实施解决方案的可能性非常重要。

谢谢您的帮助。干杯瓦伦丁伊巴内斯

0 投票
2 回答
300 浏览

python - 处理 Twitter 速率限制

我有一个看似简单的问题,我正在努力寻找解决方案。我有一个大约 3,000 个推文 ID 的列表,我希望获得转发次数、喜欢的次数和用户的关注者数量。

为此,我编写了以下代码:

但是,这将超过 Twitter 的速率限制。当我达到速率限制时,如何引入 15 分钟的等待时间?

0 投票
1 回答
49 浏览

google-app-engine - 当达到 Google 油门每日限制时,该限制是从过去 24 小时开始计算的,还是从午夜开始计算的?

我们正在努力避免达到 Google 油门限制;所以我们想计算我们的使用量,并在接近油门限制时延迟请求。

每日限额是从午夜计算到午夜,还是基于滚动的 24 小时周期计算?如果是从午夜到午夜,那么使用的是哪个时区?世界标准时间?

此外,这同样适用于每小时限制等吗?

0 投票
1 回答
996 浏览

java - 在 Java 中限制传出请求的速率,但具有动态速率

我正在构建一个应用程序,其中包括公共 API 的刮板。我想限制我的请求的速率,但不是固定速率,而是动态随机速率,它在请求之间变化并落在一定范围内,即我可以设置请求之间的最小和最大延迟。

我也不想阻塞当前线程。

我研究了 Guava Ratelimiter、RatelimitJ 和令牌桶算法,但查看文档,我看不出这些东西是如何实现我想要的。

给定 250-350 毫秒的速率限制范围,对我的请求的预期效果示例:

  • 提出请求#1
  • 等待 321 毫秒
  • 提出请求#2
  • 等待 259 毫秒
  • 提出请求#3
  • 等待 337 毫秒
  • ...
0 投票
1 回答
75 浏览

web-scraping - 从主题标签中检索所有推文。使用 tweepy 从速率限制中恢复的问题

我正在尝试抓取标签 #nationaldoughnutday 的所有推文,但由于速率限制而未能这样做。

参考下面的代码,我尝试将代码放在一个while循环中,以便当速率限制重置时,我可以从最后一次抓取的日期(直到日期)恢复抓取

但是我一直反复收到此错误,并且我的爬虫在睡了很长时间后似乎没有重新开始爬行。

我试图删除内部的 try catch 循环,但也没有帮助

先感谢您!

0 投票
1 回答
1048 浏览

javascript - 如何使用 express-rate-limit 设置 X-RateLimit-Reset?

我想设置一个用户在达到速率限制时必须等待的自定义时间。我正在使用express-rate-limit认为我可以通过X-RateLimit-Resethandler. 我可以设置这个值,但它似乎没有任何效果。

作为一个极端的例子,我试图在未来很长一段时间内使用我的处理程序中的以下内容来阻止它们:

在此之后的控制台日志记录res是正确的:

但是,在这样做之后,用户仍然能够调用本应受到速率限制的函数。如何为用户设置自定义重置时间?

0 投票
1 回答
372 浏览

api - 我们如何使用 gatling 工具测试 API 的速率限制?

我是探索 gatling 的新手,我正在尝试在测试速率限制方面实现不同的案例。首先,gatling 是测试速率限制的好工具吗?此外,我可以使用哪些内置函数/方法来调用单个 http API 调用某些没有。单个虚拟用户在一个时间窗口内的次数;达到速率限制?

0 投票
0 回答
271 浏览

google-app-engine - 403 Forbidden rateLimitExceeded while below Google Calendar quota

介绍

我合并资源日历,使用 syncToken 并与 403 rateLimitExceeded 斗争。

背景

旧应用程序。它配对和同步/合并日历。多年来一直这样做。

问题在于一些旧日历。他们以前有其他合并应用程序并包含许多旧的大型重复事件。很多东西要同步。

谷歌最近发布了一个不允许重复预订的更新。我做了一些重写,现在需要完全按时间顺序同步。由于 rateLimitExceeded 错误,我无法浏览一些日历。大多数日历/用户对都没有问题。

发布后,错误率非常严重,以至于创建用户无法在https://calendar.google.com中显示任何事件。这意味着问题(配额)超越了一个应用程序。

问题

403 Forbidden rateLimitExceeded 尽管远低于增加的 API 配额。

我开始明白每个用户都有一个隐藏的(配额)限制。我仅限于一个用户(进行创建/更新)以进行可靠跟踪。

我一直有指数退避,在大量重试后终止。最后一次尝试有 100 秒的延迟。

我已经减少了几次并行化的数量。我每秒请求不到一个(1 个请求/秒),但错误率保持不变!

更新的错误率为 75%。我猜它是 100% 来自某些日历,而其他日历则更少。

403 错误似乎仅由重复事件触发。

进一步的改进包括:

  • 使用其他用户获取/列出请求
  • 保存事件数据库
  • 请求中的配额用户

问题

为什么重复性事件在低于配额并以如此慢的速度执行时会触发 rateLimitExceeded?

0 投票
0 回答
614 浏览

google-api - Google Calendar API - 超过 403 用户速率限制

我们有一个(经过验证的)应用程序与 Google Calendar API 的集成。

对于我们的大多数用户来说,它工作得非常好。但是,我们有一个特定的用户帐户尝试将我们的应用程序的日历与他们的 Google 日历同步。同步失败,并通过我们的 Google 库向我们发送以下消息:

这对应于使用限制的文档

我们已经两次提高了开发控制台中的每用户配额,而且 Google 的开发者控制台也没有一次表明我们的用户接近会导致问题的请求数量;无论如何,我们已经大大提高了它。

此页面上的另一个建议如下:

如果一个用户代表 G Suite 域的多个用户发出大量请求,请考虑使用授权委托的服务帐户(设置 quotaUser 参数)。

大多数用户可能没有 GSuite 域,因此此选项不适用。

对于如何处理这种情况还有其他建议吗?我们有什么办法可以为这个用户解决这个问题吗?使用退避一定会解决这种情况吗?我们不确定此用户的限制是否仅适用于他们的 Google 日历与我们的软件的集成,或者它是否可能与用户可能使用的其他 Google 服务有关(在这种情况下,我们的退避不会产生影响)。我们如何确定在这个问题上的最佳行动方案?

0 投票
0 回答
596 浏览

kubernetes - 是否可以在 traefik 1.7 中设置具有速率限制的白名单

我将 traefik 与 k8s 一起使用。在文档中没有使用白名单的示例。速率限制文档