【发布时间】:2019-03-03 17:03:52
【问题描述】:
我正在使用 Gmail API .NET 客户端发送/接收电子邮件。
最近我开始在某些 gmail 帐户中收到此消息的例外情况,无论是发送/接收电子邮件:
Google.Apis.Requests.RequestError
User-rate limit exceeded. Retry after 2018-09-25T13:31:30.444Z [429]
Errors [
Message[User-rate limit exceeded. Retry after 2018-09-25T13:31:30.444Z] Location[ - ] Reason[rateLimitExceeded] Domain[usageLimits]
]
我想知道是否可以检查我的项目的特定帐户的每个用户配额使用情况,在控制台中我发现了这个:
在每个用户每 100 秒的查询次数中没有数字,问号图标的提示只是说:不显示每个用户的配额使用情况。
从Gmail API Docs我们可以找到:
- 每用户速率限制:每用户每秒 250 个配额单位,移动平均(允许短脉冲)
-
messages.send方法消耗 100 个配额单位 -
messages.get方法消耗 5 个配额单位 -
messages.list方法消耗 5 个配额单位 -
messages.attachments.get方法消耗 5 个配额单位
我认为我没有达到任何用户每秒 250 个配额单位,但我想确保并在 Google 控制台上为特定用户帐户检查这一点。这可能吗?
我听说过指数退避,如果您确实拨打了很多电话,这很适合。就我而言,我不应该打很多电话,所以我想调查并解决这个问题,而不是仅仅实施退避。
【问题讨论】: