【发布时间】:2019-12-03 11:15:14
【问题描述】:
我正在尝试创建一个 Google 应用脚本来生成包含 Google 表单响应内容(问题答案、上传图片)的 Google 文档。 是否可以做到以下几点?
- 当用户提交表单时触发Google App Script(我认为可以通过手动安装触发器https://developers.google.com/apps-script/guides/triggers/installable)
- 获取表单响应的内容
- 生成包含表单响应内容的 Google 文档
提交后添加如下
我想知道以下问题的答案来实现这一点。
- 提交表单时如何触发App脚本
- 如何从触发脚本中获取表单响应对象
对于问题 1, * 我们可以手动安装触发器https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_manually * 我们可以像这样获取表单响应对象
function onFormSubmit(e) {
const form = FormApp.getActiveForm();
const formResponses = form.getResponses();
Logger.log('form id = ' + form.getId() + ', length = ' + formResponses.length);
const formResponse = formResponses[formResponses.length-1];
const itemResponses = formResponse.getItemResponses();
const doc = DocumentApp.create('New response');
const body = doc.getBody();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
const item = itemResponse.getItem();
body.appendParagraph('Response #%s to the question "%s" was "%s"',
(i + 1).toString(),
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
}
docblob = doc.getAs('application/pdf');
docblob.setName(doc.getName() + ".pdf");
const file = DriveApp.createFile(docblob);
DriveApp.addFile(file);
MailApp.sendEmail(
"mail address",
"new response",
file.getDownloadUrl())
}
【问题讨论】:
-
绝对有可能,对event objects做一些研究。尝试编写脚本,如果您有任何无法解决的问题,请在此处提问。目前这有点太宽泛了,因为您没有任何自己的代码可以进行故障排除。
-
好的,所以你不知道答案?
-
您的问题的答案是肯定的 - 可以这样做。
-
我的问题是1.如何触发app脚本,2.如何获取表单内容(或者脚本触发时如何获取表单对象)。
-
添加的问题