谷歌表单中的 FILE_UPLOAD 项目类型

Jes*_*man 3 google-apps-script

谷歌最近在他们的表单中添加了文件上传功能。

但是,我找不到有关如何在 google 脚本中使用它的任何文档。如果我查看谷歌上的项目类型 API,它没有列出

https://developers.google.com/apps-script/reference/forms/item-type

但是,如果我检查表单中的类型,则会得到“FILE_UPLOAD”类型 responseItem.getItem().getType() //returns FILE_UPLOAD

如果我查看对象,它是一个带有字符串的数组。

我只是想弄清楚如何获取文件名并重命名它。

Jes*_*man 5

所以在考虑了一下之后,我意识到 FILE_UPLOAD 类型返回的字符串可能是 google drive File id。事实证明这是正确的。所以你可以使用 DriveApp 类来获取文件并重命名它。

这是我如何做到的:

for (var f = 0; f < responseItems.length; f++) {
  if (responseItems[f].getItem().getType() === "FILE_UPLOAD") {
    files = responseItems[f].getResponse();
    if (files.length > 0) {
      for (var n in files) {
        var dFile = DriveApp.getFileById(files[n]);
        dFile.setName("new name_" + n);
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当您运行此程序时,系统会要求您授予脚本访问驱动器中文件的权限。

希望这有助于其他人试图解决这个问题。