我正在使用 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]
]
我想知道是否可以检查特定帐户的项目的每用户配额使用情况,在控制台中我发现了这一点:
In the 每个用户每 100 秒的查询次数没有数字,问号图标的提示只是说:不显示每个用户的配额使用情况。
From Gmail API 文档 https://developers.google.com/gmail/api/v1/reference/quota#top_of_page我们可以找 :
- 每个用户速率限制:每个用户每秒 250 个配额单位,移动平均值(允许短突发)
-
messages.send
方法消耗100个配额单位
-
messages.get
方法消耗5个配额单位
-
messages.list
方法消耗5个配额单位
-
messages.attachments.get
方法消耗5个配额单位
我认为任何用户都没有达到每秒 250 个配额单位,但我想在 Google Console 上确认并检查特定用户帐户的情况。那可能吗?
我听说过指数退避,如果您确实拨打了很多电话,那么它很适合。就我而言,我不应该拨打很多电话,因此我想调查并修复该问题,而不仅仅是实施退避。
控制台不会显示每个用户的配额使用情况,因为每个用户的配额使用情况都不同 - 列出每个用户的配额使用情况没有意义。
建议采用指数回退。它不仅可以将您的使用限制在速率限制内,而且也是处理服务器端错误的正确方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)