我知道如何send a Gmail draft with:
var draft = GmailApp.getDrafts()[0];
var msg = draft.send();
以及如何使用update
修改草稿:
draft.update("mike@example.com", "current time", "The time hello")
但是如何仅修改主题而不是内容,不是附件(如果有),而不是收件人?
答案 0 :(得分:3)
如果我的理解是正确的,那么该示例脚本如何?我认为有几个答案。因此,请仅考虑其中之一。
在此示例脚本中,我使用了GmailApp类和Gmail API。脚本的流程如下。
Utilities.base64EncodeWebSafe()
将文本转换为base64。通过此流程,只能更新主题。
在运行此脚本之前,请在高级Google服务和API控制台中启用Gmail API。
function updateDraftmail() {
var newSubject = "new subject"; // Please set new subject.
var userId = "me"; // Please set userId.
var draft = GmailApp.getDrafts()[0]; // Retrieve a draft.
var raw = draft.getMessage().getRawContent();
var newRaw = raw.replace(/Subject: \w.+/, "Subject: " + newSubject);
var newRawB64 = Utilities.base64EncodeWebSafe(newRaw, Utilities.Charset.UTF_8);
Gmail.Users.Drafts.update({message: {raw: newRawB64}}, userId, draft.getId());
}
如果我误解了您的问题,而这不是您想要的,我表示歉意。