当我注意到这个错误时,我正在编写一个使用gmail API的节点应用程序。我对错误的理解是并发请求太多。这似乎促使我等了15分钟再试一次。在等待期过后,我尝试在https://developers.google.com/gmail/api/v1/reference/users/messages/list#response处使用gui over API戳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"
}
}
答案 0 :(得分:0)
Gmail API受每日使用限制的约束,该限制适用于从您的应用程序发出的所有请求,以及每用户速率限制。
超过速率限制将导致HTTP 403或HTTP 429 Too Many Requests响应,并且您的应用应通过重试指数退避来响应。
指数退避是网络的标准错误处理策略 客户端定期重试失败请求的应用程序 越来越多的时间。如果请求量很大或者 繁重的网络流量导致服务器返回错误,指数级 退避可能是处理这些错误的好策略。反过来, 它不是处理与之无关的错误的相关策略 限速,网络容量或响应时间,如无效 授权凭证或文件未找到错误。
使用得当,指数退避可以提高效率 带宽使用,减少了获得所需的请求数量 成功响应,并最大化请求的吞吐量 并发环境。