Google 使用 Blob 发送电子邮件的脚本 "Body"

Google Script Send Email with Blob as "Body"

我正在尝试发送一封电子邮件,其中包含来自某个 google 文档的数据作为电子邮件正文,我不想将其作为附件发送,它特别必须以文本形式出现在正文中。 我已经尝试过以下方法:

 var file = DriveApp.getFileById(fileId);
 var fileBlob = file.getBlob();
 var blobToString = fileblob.toString();
 MailApp.sendEmail(email,subject,blobToString);

它发送一封正文包含 function () { [native code] } 的电子邮件。

我似乎无法弄清楚如何将 blob 获取为文本,非常感谢任何帮助。

解决方案:

最简单的方法是使用 DocumentApp 方法获取文档正文和文本。

例如,在这个非常简单Google文档中:

您可以使用此脚本获取文本。将 doc-id 替换为文档 ID。

function getText() {
  var document = DocumentApp.openById("<doc-id>");
  var text = document.getBody().getText();
}

示例结果:(转储到日志中)

参考文献:

Class Document

Class Body

P.S. 请注意,这是一个非常简单的解决方案。请花点时间浏览参考文献,以从其他结构元素(例如表格或 headers/footers.

中获取文本信息