【问题标题】:How Gmail API's Quota Units Work?Gmail API 的配额单位如何工作?
【发布时间】:2016-09-26 23:03:44
【问题描述】:

根据gmail的API docs,限制如下:

API Limit Type  Limit
Daily Usage 1,000,000,000 quota units per day
Per User Rate Limit 250 quota units per user per second, moving average (allows short bursts)

在下表中,文档说messages.get 需要 5 个配额单位。

就我而言,我很感兴趣每秒轮询我的收件箱以检查新消息,并获取这些消息的内容(如果有的话)。

问题 1:这是否意味着我每秒将花费 5 个配额单位,并且我会远远低于我的配额?

问题 2:如何只检查“新”消息?也就是说,自我上次调用 API 以来到达的消息?我是否需要在每次 API 调用后为消息添加“读取”标签(在“修改”API 调用上花费额外的配额单位),还是有更简单的方法?

【问题讨论】:

    标签: gmail gmail-api


    【解决方案1】:

    问题 1:

    没错。您将在投票上花费 (5 * 60 * 60 * 24 =) 432000 配额点,这远不及限制。如果您希望 Google 通知您有新消息而不是轮询您自己,您也可以实现 push notifications

    问题 2:

    Listing messages 有一个 undocumented feature 用于查询某个时间戳之后的消息,以自纪元以​​来的秒数给出。

    如果您想在 2016 年 5 月 29 日星期日 07:00:00 GMT 之后接收消息,您只需在 q 查询参数中提供值 after:1464505200

    【讨论】:

    • 有点晚了,但如果你想“投票”,你可以使用像 Tholle menthoed 这样的推送通知,但你也应该看看 using Gmail History 它实际上更好更可靠,因为你赢了'之后不需要“标记”任何内容
    【解决方案2】:

    问题 1:

    您是对的,并且在您给定的documentation 中也有详细说明。

    问题 2:

    如您所问,为了更简单的方法,也鼓励使用Batching Requests。如文档中所述,Gmail API 支持批处理,以允许您的客户端将多个 API 调用放入单个 HTTP 请求中。

    这篇相关的 SO 帖子 - Gmail API limitations for getting mails 可以进一步提供有关批处理使用的有用想法。

    【讨论】:

      猜你喜欢
      • 2014-12-24
      • 2017-04-20
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 2020-12-15
      • 2018-08-29
      • 2017-06-03
      • 2016-06-06
      相关资源
      最近更新 更多