【问题标题】:Why is getBlob() in Google Apps Script not fetching the latest version of the document? [duplicate]为什么 Google Apps 脚本中的 getBlob() 没有获取最新版本的文档? [复制]
【发布时间】:2021-10-28 10:53:58
【问题描述】:

我正在开发一个 Google Apps 脚本应用程序,当提交表单时,它会从 Google 表格中获取数据并将其插入到 Google Doc 中,然后将其发送给提交表单的人。所有代码都可以正常工作,除了文档附加到电子邮件的部分。

代码

MailApp.sendEmail({
    to: email,
    subject: "Subject line",
    body: "Body",
    attachments: [doc.getBlob()]
  })

我预计会发生什么

程序在将数据注入 Doc 后,应将 当前 文档转换为 PDF 并通过电子邮件发送。

实际发生的情况

发出的 PDF 不是文档的最新版本。例如,他们可能有来自先前测试运行的数据。 Apps 脚本似乎以某种方式缓存了文档的 blob。需要注意的是,数据实际上是被注入到文档中的:当我打开文件时,它会显示来自最新表单提交的数据。

谁能告诉我获取最新文档 blob 的方法,或清除 blob 缓存的方法?

【问题讨论】:

  • 试过saveAndClose()?

标签: google-apps-script google-workspace


【解决方案1】:

您需要使用saveAndClose() 刷新并应用挂起的更改。

试试这个:

doc.saveAndClose();

MailApp.sendEmail({
    to: email,
    subject: "Subject line",
    body: "Body",
    attachments: [doc.getBlob()]
  })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    相关资源
    最近更新 更多