node.js - 如何为 Gmail 手表推送通知 API 应用过滤器
问题描述
我正在尝试订阅/注册推送通知并将其推送到我的服务器。这是我正在尝试的
axios.post(`https://www.googleapis.com/gmail/v1/users/me/watch`, {
"topicName": "projects/gpubsub/topics/subcription"
}, util.authHeader(token))
API 工作正常。现在我有一些问题,比如
如何应用过滤器,例如仅收到特定用户或主题的通知。我看到过滤器在 Microsoft Flow for Gmail 中使用
如何发送额外数据,以便我可以 在将通知推送到服务器时在属性属性中接收它
解决方案
过滤器作为可选参数的一部分发送。
watch (cb) {
const params = {
userId: 'me',
resource: {
labelIds: ['INBOX'],
labelFilterAction: 'include',
topicName: configure.Google.TopicName
}
};
this.gmail.users.watch(params, cb);
}
记住 lableid 是标签的 id 而不是它的名字使用labels.list来查找 id。
我建议您考虑使用官方的 Google apis node.js 库,而不是自己编写代码。