使用 Gmail API 获取用户集过滤器?

Posted

技术标签:

【中文标题】使用 Gmail API 获取用户集过滤器?【英文标题】:Get User Set Filters using Gmail API? 【发布时间】:2021-10-12 18:13:22 【问题描述】:

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

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

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

【问题讨论】:

如果我设置了第 3 方电子邮件系统并从中访问 Gmail,我可以根据第 3 方系统上的过滤器删除取消的订单电子邮件,而 Gmail 中将没有过滤器。这整个方法是有缺陷的,您正在尝试将 API 用于不打算用于的目的。你走错了杠杆。 【参考方案1】:

如何获取登录用户的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 提出请求,以查看您自己的过滤器。

【讨论】:

以上是关于使用 Gmail API 获取用户集过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gmail API 创建过滤器

GMAIL API 的 PHP 实现 - 使用多个字符串进行过滤

如何使用 Gmail API 阻止发件人?

在 C# 中使用 GMail API 创建过滤器 [重复]

如何使用带有 OAuth 令牌的 Asp.Net MVC 中的 gmail API 更快地获取日期明智的电子邮件

如何使用 java 和 google gmail-api 获取收到的邮件? [关闭]