使用 Gmail API 获取用户设置过滤器?

Get User Set Filters using Gmail API?

我有一个应用程序可以奖励向某些商家下订单的用户,我们正计划连接到我们用户的收件箱(当然要征得他们的同意!)到 verify and confirm that an order was placed on certain merchant sites。这个想法是,如果下订单然后取消,我们将能够检测到商家发送的订单取消电子邮件,然后撤销与该订单相关的任何奖励。

这种方法的一个潜在缺陷是,用户可能会设置过滤器,自动拒绝和删除与这些过滤器匹配的传入电子邮件。然后用户可以在他的帐户上设置过滤器以自动拒绝和删除商家发送的任何取消电子邮件。

是否可以使用 Gmail 获取用户是否设置了任何过滤器(以及这些过滤器是什么)API?

如何获取登录用户的 GMail 过滤器:

使用 users.settings.filters list 端点。

这是来自该端点的示例响应。

{
  "filter": [
    {
      "id": "0000000",
      "criteria": {
        "from": "YOUREMAIL",
        "to": "me",
        "subject": "ORDER",
        "query": "ORDER"
      },
      "action": {
        "addLabelIds": [
          "Label_94938493840"
        ],
        "removeLabelIds": [
          "INBOX",
          "SPAM"
        ]
      }
    },
    ...
    ...
  ]
}

通过转到我发布的 URL 进行实验,并使用 me 作为 userId 发出请求以查看您自己的过滤器。