如何解决即使在调用Gmail API watch之后,PubSub也仍然停止接收消息
我的pubsub从我的第一个watch()开始14天后就停止接收消息。 我正在为自己实施一项检查电子邮件的服务。我已按照此处描述的说明进行操作:https://developers.google.com/gmail/api/guides/push#gmail_watch
提到
您必须至少每7天调用一次watch(),否则您将停止收到该用户的更新。我们建议每天调用一次watch()。 watch()响应还具有一个到期字段,其中包含该手表到期的时间戳。
我每天都调用watch(),它返回带有有效的historyId和有效期的HTTP 200。 但是,发布订阅在14天后从我的第一个watch()停止接收消息。
所以我想知道我做错了什么。这是我的设置例程:
- 从本地计算机上设置OAuth令牌初始化。
- 从Google获取授权代码后,我请求了离线访问令牌。
- 我从Google获得了访问令牌和刷新令牌。
- 我从本地计算机上设置了我的第一个gmail watch()。
- 使用获得的访问令牌和刷新令牌,在服务器上设置每日API调用。
- 每天凌晨3点,我的服务器称为watch(),并获得具有有效的historyId和有效期的HTTP 200。
我调用watch()API的代码
const oAuth2Client = new google.auth.OAuth2(clientId,clientSecret,callbackURL);
oAuth2Client.setCredentials(tokens);
const gmail = google.gmail({version: "v1",auth: oAuth2Client});
return gmail.users.watch({
userId: "xxxxx@gmail.com",requestBody: {
topicName: "projects/[project]/topics/[topic]",labelIds: ["INBOX"],}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。