在google脚本上,我执行以下操作:创建草稿,对其应用标签,然后发送草稿。然后,当我在gmail帐户中检查发送的电子邮件时,标签消失了!
我的问题:为什么会这样?
这是代码(在发送之前,我已经检查了标签是否正确粘贴):
var draft = GmailApp.createDraft("test@gmail.com", "Email Subject", "Email Body");
var label = GmailApp.getUserLabelByName("Label Name");
label.addToThread(draft.getMessage().getThread());
draft.send();
这令人惊讶,尤其是因为在gmail中手动发送草稿并不会以这种方式删除标签。
当然,解决此问题的一种方法是在发送后添加标签(如下所示),但是出于我的目的,这并不方便,并且仍然留下了一个问题,即为什么标签消失得无影无踪... < / p>
var draft = GmailApp.createDraft("test@gmail.com", "Email Subject", "Email Body");
var label = GmailApp.getUserLabelByName("Label Name");
var message = draft.send();
label.addToThread(message.getThread());
答案 0 :(得分:1)
您可以在documentation上显示以下内容:
消息和线程可以具有与其关联的多个标签; 但是,草稿邮件不能应用标签。修改中 应用于线程的标签将应用或删除指定的标签 来自线程中的所有消息。您可以修改哪些标签是 通过调用
import chain from lodash/chain
与消息或线程关联,或者 分别为import {chain} from lodash/chain
。
所以唯一的解决方法是使用
messages.modify
发送草稿后。