首页 > 解决方案 > 特定标签上的 Gmail stop()

问题描述

我在同一个邮箱的INBOXSENT等 2 个不同的标签上创建了一个watch() 。

现在我想stop()观察者之一。这是我正在尝试的

     let userWatchStopAsync = util.promisify(gmail.users.stop);
        return userWatchStopAsync({
          userId: "me",
          access_token: token,
          resource: {
            labelIds: [labelId],
            topicName: `projects/${projectId}/topics/${topic}`
          }
        });
  }, 

但是,当我尝试停止观看SENT时,它也会停止为INBOX发送通知。

我错过了什么吗?如何在单个标签上停止() 。

标签: javascriptnode.jsgoogle-cloud-platformgmail-apigoogle-cloud-pubsub

解决方案


仔细查看您链接的文档。

stop()方法不允许您指定请求正文,因此会忽略您labelIds并完全停止所有通知。

watch()另一方面,该方法允许您指定labelFilterAction参数、可能的值"exclude""include".

因此,使用与启动手表相同的代码,指定labelIds您希望从手表中排除的代码并添加

labelFilterAction: "exclude"

进入resource.


推荐阅读