我在Gmail中使用会话视图关闭,我需要使用“旧标签”搜索特定邮件,我只想将这些特定邮件的标签更改为“新标签”。
我现在只能设法找到消息的标签名称并获取整个线程的所有消息,即使这些单独的消息不包含此标签。因此,它们也将被重命名为“NewLabel”,这是不必要的。
这是我现在的代码。
var oldlabel = GmailApp.getUserLabelByName("Oldlabel");
var newlabel = GmailApp.getUserLabelByName("Newlabel");
var threads = GmailApp.search("label:Oldlabel")
for (var i=0; i< threads.length; i++) {
threads[i].removeLabel(oldlabel);
threads[i].addLabel(newlabel);
}
答案 0 :(得分:0)
在此澄清。无论对话视图是开启还是关闭,或者您是否知道id
消息,Gmail Service您无法操纵单个消息的标签,因为{{ 3}}类没有与标签相关的方法。只有GmailMessage
班级有getLabels()
。 GmailThread
类还有addToThread()
,addToThreads()
等,但它没有与消息相关的方法。如果官方文档中没有某些内容,则该内容不存在。
所以我建议你GmailLabel
使用another answer。我自己没有测试过,但看起来像正在工作。请自己尝试一下。