微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 GScript 从 Gmail 中删除用户标签 参考

如何解决如何使用 GScript 从 Gmail 中删除用户标签 参考

关于另一个删除 Category Labels 的问题,我想使用相同的代码并简单地将其他用户标签添加到创建的例程中。

套路如下:

function removeLabelsFromMessages(query,labelsToRemove) {
  var foundThreads = Gmail.Users.Threads.list('me',{'q': query}).threads
  if (foundThreads) {
    foundThreads.forEach(function (thread) {
      Gmail.Users.Threads.modify({removeLabelIds: labelsToRemove},'me',thread.id);
    });
  }
}

function ProcessInBox() {
  removeLabelsFromMessages(
    'label:updates OR label:social OR label:forums OR label:promotions',['CATEGORY_UPDATES','CATEGORY_SOCIAL','CATEGORY_FORUMS','CATEGORY_PROMOTIONS']
  )

  <...other_stuff_to_process...>
}

我想知道您是否可以向“labelsToRemove”添加一个用户标签 - 我曾尝试简单地向数组添加一个标签,但不断收到错误消息,指出无法找到该标签。我确定这只是一个语法错误(我很少编写代码),所以有什么关于如何添加的建议吗?

我试图运行的代码是:

function CleanReceipts () {
  removeLabel (
    'label: Receipts','CATEGORY_PROMOTIONS','@SaneLater']
  )
}

其中“@SaneLater”是我也想删除用户标签名称。提前致谢。

解决方法

您获得 Label not found error 的原因是因为 threads.modify 方法需要一个 标签 id 而不是 标签名称。>

为了检索这个特定标签的 id,我建议您查看 labels.list 并发出请求以获取适当的值:

let labels = Gmail.Users.Labels.list('me');
console.log(labels);

参考

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。