在一个较大的过程中(此处不相关),我想在表单中使用本机Google表单的“文件上传”问题。
我一直在试图了解如何使用响应:
我当然可以在响应中,在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等。)(我真的不想那样做,我希望将其全部包含在表单中(我不否则就不需要这张纸了
谢谢
答案 0 :(得分:1)
提交文件上传表单后,Google表单响应会将文件ID存储在Google云端硬盘中。您可以使用DriveApp服务通过ID访问上载的文件并将其重命名,移动或复制到另一个文件夹。
function renameFile(id) {
var file = DriveApp.getFileById(id);
file.setName("Some name here");
}