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

时间:2016-05-30 14:50:03

标签: email gmail gmail-api

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

我试过Gmail push notifications系统(webhooks选项) 如果我理解了所有内容以便为每个用户获取每条新消息所需的信息,则会出现以下情况:

这意味着我需要为每个用户的每条新消息提供2个额外请求。如果服务器需要每秒处理几条新消息,那看起来很难。我仍然没有看到其他方式。

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

谢谢!

2 个答案:

答案 0 :(得分:0)

我们尝试使用推送通知,但生成的请求量意味着我们会定时轮询。值得注意的是,您将获得针对消息的任何更改的推送通知,例如标签更改,读取状态更改等。正如您所说,有许多请求。

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

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

答案 1 :(得分:0)

我面临着同样的问题。历史记录API没有提供最新的messageId。我通过点击THREAD API解决了这个问题,我在其中设置了Q =过去5分钟的时间戳。 Webhook推送通知有助于通知新邮件的到来。在我使用THREAD API获得所有消息后的最后10分钟。