使用Google Apps脚本在X天后从Gmail电子邮件中删除标签

时间:2014-11-05 06:06:52

标签: google-apps-script gmail

我创建了一个Google Apps脚本Code.gs,如下所示,从早于X天且标记为Y的每个主题中删除Gmail标签。

function archiveYThreads() {
// Every thread, older than two days, and labeled "Unread Feeds".
var threads = GmailApp.search('label:"Unread Feeds" older_than:2d');
  for (var i = 0; i < threads.length; i++) {
    threads[i].removeLabel("Unread Feeds");
}
}

根据documentation,函数removeLabel存在。或者,我发现一些使用deleteLabel的来源。但是,在设置了基于时间的触发器后,我得到两个函数都不存在的错误:

Screenshot Function not found

任何人都可以帮我检测一下这个功能不起作用的原因吗?

1 个答案:

答案 0 :(得分:2)

您必须提供类型为GmailLabel的对象作为removeLabel()方法的参数。试试这个片段。

function archiveYThreads() {
 var label = GmailApp.getUserLabelByName("Unread Feeds");
 var threads = GmailApp.search('label:"Unread Feeds" older_than:2d');
  for (var i = 0; i < threads.length; i++) {
    threads[i].removeLabel(label);
  }
}