如何通过 Gmail 推送通知获取新邮件详细信息?

Kir*_*nov 5 email gmail gmail-api

我有java服务器应用程序。我需要监控大量 Gmail 帐户,以便能够向移动设备发送有关新收件箱消息的推送通知。我需要知道发件人电子邮件和消息主题才能发送推送通知。

我尝试了Gmail 推送通知系统(网络钩子选项)如果我正确理解了所有内容,以便为每个用户获取每条新消息所需的信息,则会出现以下情况:

  • Google通过 https 请求向我发送电子邮件历史记录 ID 。
  • 我调用历史 API并获取用户的新消息 ID
  • 我通过消息id请求消息信息

这意味着对于每个用户的每条新消息,我都需要 2 个额外的请求。如果服务器需要每秒处理几条新消息,这看起来相当困难。我仍然没有看到其他方法。

有什么办法可以让它变短吗?(例如,让谷歌不仅向我发送历史记录 ID,还向我发送需要的新消息详细信息,或者至少提出一个额外请求,但不是两个)

谢谢!

PNC*_*PNC 1

我们尝试使用推送通知,但生成的请求量意味着我们改为定期轮询。值得注意的是,您将收到有关消息的任何更改的推送通知,例如标签更改、阅读状态更改等。正如您所说,有很多请求。

如果您需要实时通知,我不知道如何避免您概述的过程。

如果您不需要实时,那么您可以轮询或至少定期检查每个帐户的推送通知,如果已收到一些通知,则批量检索任何新消息,而不是单个请求。