Google表格上传文件-使用/修改响应

时间:2018-10-16 11:26:10

标签: google-apps-script google-apps google-form

在一个较大的过程中(此处不相关),我想在表单中使用本机Google表单的“文件上传”问题。

我一直在试图了解如何使用响应:

  1. 重命名上传的文件
  2. 将文件移动/复制/保存到特定位置 (这最终将由另一个响应项确定,但就目前而言,只需将其命名为“ 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等。)(我真的不想那样做,我希望将其全部包含在表单中(我不否则就不需要这张纸了

谢谢

1 个答案:

答案 0 :(得分:1)

提交文件上传表单后,Google表单响应会将文件ID存储在Google云端硬盘中。您可以使用DriveApp服务通过ID访问上载的文件并将其重命名,移动或复制到另一个文件夹。

function renameFile(id) {
  var file = DriveApp.getFileById(id);
  file.setName("Some name here");
}