Google 表单上传文件 - using/modifying 响应
Google Forms Upload File - using/modifying the response
在更大的过程中(此处不相关)我想使用原生 Google 表格 "File Upload" 表格中的问题。
我一直在努力了解如何使用对 :
的回复
- 重命名上传的文件
- move/copy/save 文件到特定位置
(这最终将由另一个响应项决定,但暂时我们将其称为"myDesitinationFolder"
当然,我可以在响应中、在 Google 界面中或在 Spreadsheet 中查看文件(并从 spreadsheet、URL 到文件)
但我想在文件 "saved to Drive" 之前或无论如何在 onFormSubmit()
期间进行处理
虽然我找到的只是一个值 [randomalphanumeric],但我找不到解释此 [元素] 是什么的文档。 (如果它是一个对象 - 但正方形 [] 似乎表明情况并非如此)
(澄清后更新)
取值示例代码来自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)
我的问题:那是文件对象吗?我可以访问 "save" 流程来事先更改目的地和名称吗?
或者我最好的选择是在更新的 sheet 上做一个 post 提交过程(我有文件 URL 等等)(我真的不想那样做,我更愿意将其全部包含在表格中(否则我不需要 sheet)
谢谢
提交文件上传表单时,Google 表单响应将文件 ID 存储在 Google 驱动器中。您可以使用DriveApp服务通过ID访问上传的文件并重命名、移动或复制到另一个文件夹。
function renameFile(id) {
var file = DriveApp.getFileById(id);
file.setName("Some name here");
}
在更大的过程中(此处不相关)我想使用原生 Google 表格 "File Upload" 表格中的问题。
我一直在努力了解如何使用对 :
的回复- 重命名上传的文件
- move/copy/save 文件到特定位置 (这最终将由另一个响应项决定,但暂时我们将其称为"myDesitinationFolder"
当然,我可以在响应中、在 Google 界面中或在 Spreadsheet 中查看文件(并从 spreadsheet、URL 到文件)
但我想在文件 "saved to Drive" 之前或无论如何在 onFormSubmit()
期间进行处理虽然我找到的只是一个值 [randomalphanumeric],但我找不到解释此 [元素] 是什么的文档。 (如果它是一个对象 - 但正方形 [] 似乎表明情况并非如此) (澄清后更新)
取值示例代码来自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)
我的问题:那是文件对象吗?我可以访问 "save" 流程来事先更改目的地和名称吗? 或者我最好的选择是在更新的 sheet 上做一个 post 提交过程(我有文件 URL 等等)(我真的不想那样做,我更愿意将其全部包含在表格中(否则我不需要 sheet)
谢谢
提交文件上传表单时,Google 表单响应将文件 ID 存储在 Google 驱动器中。您可以使用DriveApp服务通过ID访问上传的文件并重命名、移动或复制到另一个文件夹。
function renameFile(id) {
var file = DriveApp.getFileById(id);
file.setName("Some name here");
}