Gmail 历史记录列表未提供完整数据

Gmail History list is not giving complete data

我正在尝试从 gmail api watch() 给出的 historyId 获取历史记录

https://developers.google.com/gmail/api/v1/reference/users/history/list

我得到 historyId 的响应如下

{
    historyId: 12345
}

我尝试添加 fields 参数,但没有成功。

https://www.googleapis.com/gmail/v1/users/me/history?startHistoryId=12345&fields=historyId,history(id%2Cmessages) 的请求也失败了

我做错了什么吗?

响应告诉您自您 startHistoryId 代表的时间以来没有发生任何事情。如果您向自己发送邮件并使用相同的 startHistoryId 重试,您将收到一封新邮件作为结果。

如果您从 watch() 获取 historyId,这是另一个问题。您在推送通知中获得的 historyId 只是说明您正在观看的标签的当前 historyId。想想看。 Google 如何知道您上次同步的时间?当您收到推送通知时,您需要使用自上次请求以来存储的 historyId