【问题标题】:How to apply filter for Gmail watch push notification api如何为 Gmail 手表推送通知 API 应用过滤器
【发布时间】:2018-10-12 06:16:30
【问题描述】:

我正在尝试订阅/注册推送通知并将其推送到我的服务器。 这是我正在尝试的方法

axios.post(`https://www.googleapis.com/gmail/v1/users/me/watch`, {
            "topicName": "projects/gpubsub/topics/subcription"
        }, util.authHeader(token))

API 工作正常。现在我有一些问题,例如

  1. 如何应用filter,例如只收到特定用户或主题的通知。我看到过滤器在 Microsoft 流程中用于 Gmail

  2. 如何发送额外数据以便我可以接收 将通知推送到我的服务器时的 属性 属性

【问题讨论】:

    标签: node.js push-notification gmail-api power-automate


    【解决方案1】:

    过滤器作为可选参数的一部分发送。

    watch (cb) {
    const params = {
      userId: 'me',
      resource: {
        labelIds: ['INBOX'],
        labelFilterAction: 'include',
        topicName: configure.Google.TopicName
      }
    };
    
    this.gmail.users.watch(params, cb);
    }
    

    记住 lableid 是标签的 id 而不是它的名字使用 lables.list 来查找 id。

    我建议您考虑使用官方的 Google apis node.js 库,而不是自己编写代码。

    【讨论】:

    • 但是如何添加过滤器作为可选参数以及如何发送额外数据以便我可以识别订阅。你能提供示例请求
    • 我给你的代码是一个使用可选参数的例子。如果您真的想以艰难的方式做到这一点,那么它只是您附加到您的请求上的参数。 labelIds=XXX&labelFilterAction=XXX&topicName=XXX 这可能会帮助您了解如何使用 HTTP 参数w3schools.com/tags/ref_httpmethods.asp
    • 我想添加自定义过滤器(比如主题包含你好评价者)和默认过滤器
    • 您仅限于它允许您过滤的内容,您无法弥补。主题不是您可以过滤的内容之一。
    • 但是是否有可能通过在 subhect 或 body 或 to、cc 等上添加过滤器来实现,例如filters
    猜你喜欢
    • 2018-04-12
    • 2017-03-02
    • 2018-04-17
    • 2020-10-18
    • 2017-01-27
    • 2014-12-31
    • 1970-01-01
    • 2016-03-08
    • 2019-07-28
    相关资源
    最近更新 更多