Google apps script 将图像上载到Google表单错误

Google apps script 将图像上载到Google表单错误,google-apps-script,google-spreadsheet-api,Google Apps Script,Google Spreadsheet Api,我一直在努力解决这个问题。我对编写代码非常陌生,所以请容忍我 我想创建一个带有文件提交的表单,将响应解析为google电子表格,并将文件放入我的gdrive(而不是上传者的gdrive)中的特定文件夹中 我已经试过调试和询问,但似乎没有人知道我的错误在哪里,也没有人知道如何将上传的文件放入我自己的文件夹,这样我就可以访问/查看它们 以下是指向我的代码的链接: 我不知道出了什么问题。在这里,我可以为您提供一个非常简单的脚本,将文件上传复制到您希望的文件夹中 并将文本字段中的值写入工作表 它写得很简

我一直在努力解决这个问题。我对编写代码非常陌生,所以请容忍我

我想创建一个带有文件提交的表单,将响应解析为google电子表格,并将文件放入我的gdrive(而不是上传者的gdrive)中的特定文件夹中

我已经试过调试和询问,但似乎没有人知道我的错误在哪里,也没有人知道如何将上传的文件放入我自己的文件夹,这样我就可以访问/查看它们

以下是指向我的代码的链接:


我不知道出了什么问题。

在这里,我可以为您提供一个非常简单的脚本,将文件上传复制到您希望的文件夹中 并将文本字段中的值写入工作表

它写得很简单,但可以给你第一步

复制脚本文件中的代码,并作为google apps脚本运行。 在运行脚本之前,必须更改代码 指定文件夹ID和工作表中的ID。 当你在googledrive中浏览这些元素时,你会找到自己的Id 并从浏览器中的URL路径读取ID

function doGet() {

  var app = UiApp.createApplication();

  var text_lbl        = app.createLabel('text: *');
  var text            = app.createTextBox().setName('text');  
  var replay_file_lbl = app.createLabel('Replay Upload:'); 
  var replay_file     = app.createFileUpload().setName('replay_file');
  var submit_btn      = app.createSubmitButton('Submit');

  var battle_result_tbl = app.createFlexTable();

  battle_result_tbl.setWidget(0, 0, text_lbl)
                   .setWidget(0, 1, text)
                   .setWidget(1, 0, replay_file_lbl)
                   .setWidget(1, 1, replay_file)                   
                   .setWidget(4, 1, submit_btn);

  var form_panel = app.createFormPanel()
                  .setWidget(battle_result_tbl);  

  app.add(form_panel);

  return app;
}


function doPost(e) {

  var app = UiApp.getActiveApplication();

  // the uploads are writen in the root folder of google drive
  var upload_root   = DocsList.getFolder('');   

  // the dest folder for the uploads files       
  var upload_folder = DocsList.getFolderById('0B4Kg6cMbounaOHlMTXZUMUpTN3c');  

  var text          = e.parameter.text; 
  var replay_file   = e.parameter.replay_file;   
  var thx_lbl       = app.createLabel('Thanks for your submission!');

  app.add(thx_lbl);

 // workaround, use try & catch cause if no file uploaded then error "File name cannot be empty"
  try{
      var replay_file_id = DocsList.createFile(replay_file);  // create the uploaded file
      replay_file        = replay_file_id.getId();            // get the ID from uploaded file 
      replay_file_id.addToFolder(upload_folder);  // copy uploaded file from root to dest folder
      replay_file_id.removeFromFolder(upload_root);     // delete uploaded file from root folder
     } 
   catch(e){Logger.log('replay_file: '+e.message);}  

  // open ur sheet by id to write the value of text in
  var ss = SpreadsheetApp.openById('1-c4MkF2TLigtMGuWNk45Df51oZBlgI0xK5bkVUWxRH8');

  // this write the value from formelement text into cell A1
  ss.getActiveSheet().getRange(1,1).setValue(text);                                  

  return app;
}

您的链接无效:抱歉,您请求的文件不存在。