【问题标题】:Google Form Script to create new folder and move images to it谷歌表单脚本创建新文件夹并将图像移动到它
【发布时间】:2020-04-15 11:08:48
【问题描述】:

我正在寻找一个脚本,一旦将新的图像文件上传到我的 Google 云端硬盘(通过 Google 表单图像上传,该脚本将根据这些 Google 表单字段之一创建一个文件夹(例如名称),然后将所有图像移动到该文件夹​​。

到目前为止,这是我拼凑起来的,但由于文件夹是根据字段生成的,所以我不确定它是如何工作的。

function moveFiles() {
  var sourceFolder = DriveApp.getFolderById("Creative Upload (File responses)")

  var targetFolder = DriveApp.getFolderById("yyyyyyy") //what should this be?
  var files = sourceFolder.getFilesByType(MimeType.JPEG);
  while (files.hasNext()) {
    var file = files.next();
    targetFolder.addFile(file);  
    file.getParents().next().removeFile(file);
  }
}

任何建议将不胜感激。

【问题讨论】:

    标签: google-apps-script google-drive-api google-forms


    【解决方案1】:

    你需要合并FormApp

    • 创建附加到表单的绑定脚本并检索最新的表单提交。
    • 检索感兴趣的响应(例如名称)并使用它创建具有此名称的文件夹。
    • 检索文件夹的 ID。
    • 检索已上传图片的 Id 并将图片按其 Id 添加到新创建的文件夹中。

    示例:

    function myFunction() {
      var form=FormApp.getActiveForm();
      var length=form.getResponses().length;
      var name=form.getResponses()[length-1].getItemResponses()[0].getResponse();
      var uploadedImageId=form.getResponses()[length-1].getItemResponses()[1].getResponse();
      Logger.log(id);
      var file=DriveApp.getFileById(uploadedImageId);
      var folderId=DriveApp.createFolder(name).getId();
      DriveApp.getFolderById(folderId).addFile(file);
    }
    

    要在每次提交表单时自动运行脚本 - 将您的函数绑定到 installable trigger onFormSubmit。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-26
      • 2015-11-15
      • 1970-01-01
      • 2018-05-27
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多