【问题标题】:Gmail API - 429 rateLimitExceeded with a single requestGmail API - 单个请求超过 429 rateLimitExceeded
【发布时间】:2016-11-14 01:11:37
【问题描述】:

当我注意到这个错误时,我正在编写一个使用 gmail API 的节点应用程序。我对错误的理解是并发请求太多。它似乎在提示我等待 15 分钟再试一次。等待期过后,我尝试在https://developers.google.com/gmail/api/v1/reference/users/messages/list#response 上用gui 戳API,但出现了同样的错误(时间增量为15 分钟)。我在开发者控制台的 API 站点上查看了我的配额使用情况,但除了错误之外没有其他活动。有谁知道这可能是为什么?我会非常感激。

{
 "error": {
  "errors": [
   {
   "domain": "usageLimits",
    "reason": "rateLimitExceeded",
    "message": "User-rate limit exceeded.  Retry after 2016-07-11T23:51:49.309Z"
   }
  ],
  "code": 429,
  "message": "User-rate limit exceeded.  Retry after 2016-07-11T23:51:49.309Z"
 }
}

【问题讨论】:

  • 你需要发布你的代码
  • 没关系,它似乎已经自行解决了。

标签: google-api gmail-api quota


【解决方案1】:

Gmail API 受到适用于从您的应用程序发出的所有请求的每日使用限制以及每个用户的速率限制。

  • 每日使用量 1,000,000,000 配额单位每天每个用户费率 限制
  • 每位用户每秒 250 个配额单位,移动平均值(允许 短脉冲)

超过速率限制将导致 HTTP 403 或 HTTP 429 Too Many Requests 响应,您的应用应通过指数退避重试来响应。

指数退避是网络的标准错误处理策略 客户端定期重试失败请求的应用程序 在越来越多的时间内。如果请求量很大或 繁重的网络流量导致服务器返回错误,指数级 退避可能是处理这些错误的好策略。反过来, 它不是处理与不相关的错误的相关策略 速率限制、网络容量或响应时间,例如无效 授权凭据或文件未找到错误。

使用得当,指数退避可以提高 带宽使用,减少了获得 成功响应,并最大化请求的吞吐量 并发环境。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多