从“ Google表单”文件上传项目中获取图片

时间:2019-11-26 21:47:48

标签: google-apps-script google-docs

我们正在尝试制作一个Google表单,以便使用google doc上的一些图片生成项目报告,字符串响应没有问题,因为我们可以轻松地操作它们并替换google doc模板中的某些文本,问题是如何通过Google Apps脚本检索图像文件以通过“提交表单脚本”将此图像文件插入google doc

我留下了我们目前用于从Google表单中检索响应的代码

P.D。我们有一个google企业帐户,如果有帮助的话!

function onFormSubmit(e) {
  var formResponse = e.response;
  // If all questions are required, getItemResponses returns responses in form-order
  var itemResponses = formResponse.getItemResponses();
  var imgResponse = formResponse.getResponses();
  var project_name = itemResponses[0].getResponse();  

  var client = itemResponses[1].getResponse();
  var delivery_date = itemResponses[2].getResponse();
  var supervisor = itemResponses[3].getResponse();
  var net_worth = itemResponses[4].getResponse();
  var description = itemResponses[5].getResponse();
  var pictures = itemResponses[6].getResponse(); // returns a string "[Ljava.lang.Object;@68c638d4", how to get image URL??
  var client_name = itemResponses[7].getResponse();
  }

1 个答案:

答案 0 :(得分:1)

这将为您重命名文件,并将时间戳记,名称和ID写入电子表格。在这种情况下,e.values [1]是用逗号分隔的已上传文件的列表。

function onFormSubmit(e) {
  Logger.log(JSON.stringify(e));
  var ft=e.values.slice(1);
  var fA=ft[0].split(',');
  for(var i=0;i<fA.length;i++) {
    var file=DriveApp.getFileById(fA[i].slice(fA[i].indexOf("=")+1));
    var t=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "HHmmss")
    file.setName(Utilities.formatString('Cooper-%s',t));
    SpreadsheetApp.openById("id").getSheetByName("UploadFiles").appendRow([e.values[0],file.getName(),file.getId()]);
  } 
}