如何根据标签ID添加订阅过滤器

问题描述 投票:0回答:1

我正在集成发布/订阅功能,以便获取 G-Suite 中用户发送和接收的电子邮件的副本。我很快意识到这可能会变得很喋喋不休。似乎收件箱中任何内容的每个动作都会触发一个历史事件,我认为这在某些情况下很有用,但在这种情况下,我实际上只关心这两个事件(正在发送或接收的电子邮件)。

为了减少处理量,我看到了可以在哪里添加订阅过滤器,但是我很难找到所有选项的位置。理想情况下,我希望根据标签 id 进行过滤,因为这样我就可以创建一个过滤器,其中标签 id 必须是“已发送”或“收件箱”。

有人可以指导我吗?

enter image description here

google-cloud-platform google-cloud-pubsub
1个回答
0
投票

Cloud Pub/Sub 消息的 Gmail 过滤未在订阅中设置,而是在 将 Gmail 推送通知连接到 Cloud Pub/Sub 时设置。当您指定

labelIds
时,您可以设置
labelFilterBehavior
topicName
。如该文档所示,示例
POST
请求将是:

POST "https://www.googleapis.com/gmail/v1/users/me/watch"
Content-type: application/json

{
  topicName: "projects/myproject/topics/mytopic",
  labelIds: ["INBOX"],
  labelFilterBehavior: "INCLUDE",
}

Gmail 推送通知生成的 Pub/Sub 消息不包含任何属性,因此无法通过基于 Pub/Sub 订阅的过滤器进行基于标签的过滤。

© www.soinside.com 2019 - 2024. All rights reserved.