【发布时间】:2018-10-16 11:26:09
【问题描述】:
在更大的过程中(此处不相关)我想在表单中使用原生 Google 表单“文件上传”问题。
我一直在尝试了解如何使用响应来:
- 重命名上传的文件
- 将文件移动/复制/保存到特定位置 (这最终将由另一个响应项确定,但目前,我们将其称为“myDesitinationFolder”
我当然可以在回复、Google 界面或电子表格中查看文件(以及从电子表格中查看文件的 URL)
但我想在文件“保存到云端硬盘”之前或无论如何在 onFormSubmit() 期间进行处理
我发现的只是一个值 [randomalphanumeric],我无法找到解释这个 [element] 是什么的文档。 (如果它是一个对象 - 但正方形 [] 似乎表明情况并非如此) (澄清后更新)
用于获取值的示例代码来自 Stack。
.
fonction onFormSubmit(e){
var form = FormApp.getActiveForm()
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
Logger.log('Response #%s to the question "%s" was "%s"',
(i + 1).toString(),
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
console.log('Response #%s to the question "%s" was "%s"',
(i + 1).toString(),
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
}
}
}
输出: 对问题“fileUpload”的响应 #19 是“[1OQeNOTREALCODE5SoAaPiw4s2M-cfRDJ]”
(NOTREALCODE 由我添加到匿名响应)
我的问题:那是一个文件对象吗?我可以访问“保存”过程以事先更改目的地和名称吗? 或者我最好的选择是在更新的工作表上进行后提交过程(我有文件 URL 等)(我真的不想那样做,我更愿意将它全部包含在表单中(我不'否则不需要工作表)
谢谢
【问题讨论】:
-
FormSubmit 在表单提交后触发。
1OQeNOTREALCODE5SoAaPiw4s2M-cfRDJ可能是上传文件文档的fileID。您可以使用它来访问/移动/修改使用DriveApp上传的文件 -
谢谢。是的,它是文件ID;我已经能够证实这一点。所以文件已经写入磁盘。我必须搬家并重命名。
标签: google-apps-script google-apps google-forms