使用 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 的 PHP 实现 - 使用多个字符串进行过滤