我正在尝试将Google文档(此处没有任何内容,只是一个简单的脚本构建的文本文档)作为带有Google Apps脚本的纯文本电子邮件附件发送。我可以手动执行此操作,方法是进入我的云端硬盘并选择“文件>电子邮件作为附件...”。从那里,会弹出一个窗口,询问收件人,文件类型(我可以选择纯文本),主题,消息等。如何通过脚本执行此操作?
我有另一个文档使用以下PDF格式(正确定义了TimeDataId和email_address):
//Get Data as .pdf file
var TimeData = DocsList.getFileById(TimeDataId).getAs('application/pdf');
// Attach pdf and send the email to customer
var subject = 'Time Data';
var body = 'Please see the attached Data.' + '<br/><br/>Thank you,';
MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: TimeData});
这对于PDF来说完美无瑕。但是,我真的在寻找这样的东西:
//Get Data as .txt file
var TimeData = DocsList.getFileById(TimeDataId).getAs(MimeType.PLAIN_TEXT);
// Attach txt and send the email to customer
var subject = 'Time Data';
var body = 'Please see the attached Data.' + '<br/><br/>Thank you,';
MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: TimeData});
我使用此方法得到的所有内容都是失败通知,其报告为“执行该操作需要授权”。
我知道我可以将纯文本信息粘贴到我的电子邮件正文中,但我真的希望有一个可下载的文件,因为这为用户节省了一个步骤(此文件稍后将用于导入数据另一个节目)。这个问题已经被问及并回答了吗?有没有人有任何想法?感谢您的任何意见。
答案 0 :(得分:0)
以下是我将文档中的文本作为纯文本文件的方法。
var txt = DocumentApp.openById(TimeDataId).getText();
var TimeData = Utilities.newBlob(txt, 'text/plain','myattachment.txt')
它需要额外的间接级别,但目前getAs
仅支持PDF。
我相信您收到的错误消息是新DriveApp
的MimeType类,但我还没有验证过。