0
我创建了Google Apps脚本Code.gs
,如下所示从每个线程删除大于X
天并标记为Y
的Gmail标签。使用Google Apps脚本在X天后从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
的来源。然而,这两个我得到这两个功能不存在错误,在已经设置了基于时间触发:
任何人可以帮我检测了为什么功能不工作?
将'GmailLabel'对象作为参数提供时,它可以工作。感谢您的帮助! – orschiro 2014-11-09 07:05:04
@orschiro或者,一旦拥有线程数组,您可以通过使用'GmailLabel.removeFromThreads(threads)'函数来摆脱for循环。 在上面的代码中,简单地用'label.removeFromThreads(threads)'代替for循环就可以工作。 它会更快地工作,完全减少脚本超时的可能性,如果你有一个非常大的线程阵列 – Chikitulfo 2015-03-21 11:49:27
@Chikitulfo感谢您的建议。也许阿米特阿加瓦尔可以更新他的解决方案? – orschiro 2015-03-21 13:57:04