【问题标题】:Check specific user account quota usage for Gmail API检查 Gmail API 的特定用户帐户配额使用情况
【发布时间】: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 控制台上为特定用户帐户检查这一点。这可能吗?

我听说过指数退避,如果您确实拨打了很多电话,这很适合。就我而言,我不应该打很多电话,所以我想调查并解决这个问题,而不是仅仅实施退避。

【问题讨论】:

    标签: c# gmail-api


    【解决方案1】:

    控制台没有说明每个用户的配额使用情况,因为每个用户的配额使用情况都不同 - 列出每个用户的配额使用情况是没有意义的。

    建议使用指数回退。它不仅可以将您的使用限制到速率限制,而且还是处理服务器端错误的正确方法。

    【讨论】:

    • 嘿,感谢您帮助我。由于您所说的,我没想到该屏幕会显示每个用户的配额,这没有任何意义。我只是补充说,以防有人想知道,但我希望找到可以在我的组织中选择一个用户帐户并查看其配额使用情况的地方。如果您查询接近限制,建议使用指数退避,这不应该是我的情况。我不想仅仅实现、依赖它并忘记,我怀疑我的应用程序可能行为不端,因为它不应该进行如此多的调用。
    猜你喜欢
    • 2017-06-03
    • 2021-12-21
    • 1970-01-01
    • 2018-08-29
    • 2014-04-28
    • 2020-12-15
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多