用于创建新文件夹并将图像移动到其中的Google表单脚本

问题描述 投票:1回答:1

我正在寻找一个脚本,一旦将新的图像文件上传到我的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-form
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.