Gmail API:users.history.list返回"未找到"使用pageToken时

时间:2017-06-14 20:05:30

标签: gmail-api

对于我们的一位用户(并且只有一位用户),我们经常会收到#34; 404 Not Found"调用gmail.users.history.list时出错。具体来说,当我们从pageToken进行回复(即gmail.users.history.list)时,会发生这种情况。

当Gmail推送通知指示用户有新的list时,会调用hisotryId方法,此时我们会使用他们的之前的历史记录ID来获取所有更改直到这一点。对list的第一次调用总是成功,但是当使用该初始响应提供的给定pageToken时,调用将失败。

奇怪的是,当我们在日志中看到这些故障然后稍后手动尝试相同的呼叫时,它们工作得很好。

有什么想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

如果您使用的是初始通话中的相同历史记录ID,则可能是您使用的是无效的历史记录ID。如Users.history: list中所述,

  

historyId通常有效至少一周,但在极少数情况下可能只有几个小时有效。

按照建议尝试full synchronization

  

如果收到HTTP 404错误响应,则应用程序应执行完全同步。

您可能希望查看此相关SO post以获取更多见解。

答案 1 :(得分:0)

我注意到,如果您的startHistoryId年纪太大,并且已经超出Gmail的内部通知队列,则会发生这种情况。


当我需要在很长一段时间后测试此功能,但没有更新任何本地历史ID时,这对我来说是发生在开发中。相反,我们所有的生产和暂存环境都表现良好。