【问题标题】:How do you update a Gmail draft relevant to a thread without it losing the link to the thread?您如何更新与线程相关的 Gmail 草稿而不丢失线程的链接?
【发布时间】:2019-06-14 14:13:41
【问题描述】:

我使用 threadId 在 Google 应用制作工具中为电子邮件线程创建草稿。此草稿显示为 Gmail 中线程的一部分。但是,当我更新草稿时,它会丢失它与线程的链接。

以下代码用于创建一个线程的回复草稿,并存储了draftId。

var draft = GmailApp.getThreadById(threadId).createDraftReply('');

然后草稿更新如下。运行时,与线程的链接将丢失。我并不热衷于传递所有这些参数,因为我只想更新草稿的 html 正文

function saveDraft(draftId, body) {
  if (draftId !== null) {
    var draftToSave = GmailApp.getDraft(draftId);
    var draftMessage = draftToSave.getMessage();
    var options = {
        'htmlBody': body,
        'cc': draftMessage.getCc(),
        'bcc': draftMessage.getBcc()
    };

    draftToSave.update(draftMessage.getTo(), draftMessage.getSubject(), '', options);
  }
}

我希望在不更改任何其他内容的情况下更新链接到线程的草稿正文。 请注意,我传递的是 html 正文而不是文本正文。

【问题讨论】:

    标签: javascript gmail-api google-app-maker


    【解决方案1】:

    从这个SO post说,

    无法获取链接或与他人共享电子邮件或线程 另一个人只使用 Gmail。 Gmail 为您提供 unique URL in the address bar for each message thread,但该 URL 只能访问 在您登录到您的帐户后,其他用户将不会 可以访问链接。

    Gmail Labs 具有 Create a Document 功能,但它创建的文档 似乎只在一个线程中包含最后一封电子邮件并且没有简单的 将线程的其余部分复制到该文档中的方法很容易 分享。

    这意味着每当您尝试更新草稿时,它都会丢失该主题的链接。但是您可以在更新草稿后尝试使用搜索运算符。复制并存储邮件标题中的MessageID,然后搜索它。您可以使用filtering Gmail APIs

    【讨论】:

    • 感谢您的回复。只是为了进一步澄清问题,链接仅在使用 update() 函数时丢失。我在更新前后检查了草稿消息的原始内容。内容减少了。我确定它保存了保留线程链接所需的数据。但是,我不知道如何通过它。
    猜你喜欢
    • 2019-02-28
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 2017-06-17
    • 2021-03-22
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多