Performance 使用新的Gmail API同步Gmail收件箱消息的有效方法?

Performance 使用新的Gmail API同步Gmail收件箱消息的有效方法?,performance,optimization,gmail,gmail-api,google-schemas,Performance,Optimization,Gmail,Gmail Api,Google Schemas,web应用程序使用新的Gmail API(Users.messages:send)代表UserA向UserB发送电子邮件 同步响应包含存储在数据库中的threadId、messageId 然后,我们在历史API中查询用户收件箱中的任何更改(Users.history:list) 是否有一种有效的方法来获取自上次同步以来的所有更新(新回复、已读/未读更改) 我们尝试的一个实现是通过自定义标签过滤历史API结果。不幸的是,我们注意到,一旦一个线程/消息被标记了一个特定的标签,任何后续响应都不会被自动

web应用程序使用新的Gmail API(Users.messages:send)代表UserAUserB发送电子邮件

同步响应包含存储在数据库中的threadId、messageId

然后,我们在历史API中查询用户收件箱中的任何更改(Users.history:list

是否有一种有效的方法来获取自上次同步以来的所有更新(新回复、已读/未读更改)

我们尝试的一个实现是通过自定义标签过滤历史API结果。不幸的是,我们注意到,一旦一个线程/消息被标记了一个特定的标签,任何后续响应都不会被自动标记,新的响应也不会包含在历史API响应中

第二种方法是使用gmail高级搜索查询特定标签和日期的线程(例如:2014/08/29之后的标签:MY_标签)。问题在于,gmail不返回2014/08/29之前创建的线程,但在该日期有回复


如果您有任何可扩展的建议,我们将不胜感激。

不确定我是否理解这里的内容,users.history.list正是为此制作的。给定以前的historyId,然后可以调用history.list(previousHistoryid),遍历结果以查找自以前的historyId以来已更新的所有消息ID。然后调用messages.get(),对于所有这些消息,您可以调用format=MINIMAL(查看标签更新),对于新消息,如果需要,您可以使用不同的格式获取消息内容。

嗨,Eric,谢谢您的回答。这正是我们所做的。我们考虑将自定义标签添加到通过我们的应用程序发送的电子邮件中,然后过滤历史记录。使用此标签列出结果,以最小化处理后的响应。显然,这不起作用,因为响应原始线程id的新消息id不会自动标记。