【发布时间】:2016-03-02 12:27:28
【问题描述】:
我正在尝试以 pdf 格式向自己发送基于表单的报告。问题是,我没有收到任何电子邮件。调试并没有多大帮助,因为这只会告诉我哪些值是“未定义的”(它们在填写表格并通过单击发送触发电子邮件的瞬间被定义;理论上)。我的编码经验源于 TurboPascal 和 .bat 文件的时代,我最近意识到我需要调整。试图弄清楚Android,这是一个工作中的小实验。但我已经忘记了“现在呢?”的失落感……
代码如下:
// Samfunnsutvikling kursrapport
var docTemplate = "TemplateIDinGoogleDoks";
var docName = "Kursrapport";
// When Form Gets submitted
function onFormSubmit(e) {
//Get information from form and set as variables
var email = "worker@work.no";
var namn = e.namedvalues.namn;
var arrangement = e.namedvalues.arrangement;
var dato = e.namedvalues.dato;
var referat = e.namedvalues.referat;
// Get document template, copy it as a new temp doc, and save the Doc’s id
var copyId = DocsList.getFileById(docTemplate)
.makeCopy(docName+' for '+namn)
.getId();
// Open the temporary document
var copyDoc = DocumentApp.openById(copyId);
// Get the document’s body section
var copyBody = copyDoc.getActiveSection();
// Replace place holder keys,in our google doc template
copyBody.replaceText('keynamn', namn);
copyBody.replaceText('keyarrangement', arrangement);
copyBody.replaceText('keydato', dato);
copyBody.replaceText('keyreferat', referat);
// Save and close the temporary document
copyDoc.saveAndClose();
// Convert temporary document to PDF
var pdf = DocsList.getFileById(copyId).getAs("application/pdf");
// Attach PDF and send the email
var subject = "Kursrapport";
var body = "Kursrapporten frå " + namn + "";
GmailApp.sendEmail(email, subject, body, {htmlBody: body, attachments: pdf});
// Delete temp file
DocsList.getFileById(copyId).setTrashed(true);
}
脚本/文档被授权发送电子邮件,但奇怪的是,我不得不授权两次。已保存。
【问题讨论】:
-
啊,涡轮帕斯卡。美好的时光。你引用那句话得分很高:-)
-
哈哈,谢谢!很久以前,当我试图记住一个足够的命令来回复时,我才意识到这有多长……结果两手空空。
标签: email debugging pdf google-apps-script google-forms