File upload 用于在google drive中上载文件的脚本-遇到错误:发生意外错误

File upload 用于在google drive中上载文件的脚本-遇到错误:发生意外错误,file-upload,google-apps-script,google-sheets,File Upload,Google Apps Script,Google Sheets,我使用一个脚本将文档上传到谷歌电子表格中,并自动将指向它的链接放到当前单元格中。从昨天开始,一切都很顺利,但从今天早上开始,我收到了以下一般性错误: 遇到错误:发生意外错误 代码如下: // upload document into google spreadsheet // and put link to it into current cell function onOpen(e) { var ss = SpreadsheetApp.getActiveSpreadsheet() v

我使用一个脚本将文档上传到谷歌电子表格中,并自动将指向它的链接放到当前单元格中。从昨天开始,一切都很顺利,但从今天早上开始,我收到了以下一般性错误: 遇到错误:发生意外错误

代码如下:

// upload document into google spreadsheet
// and put link to it into current cell

function onOpen(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var menuEntries = [];
  menuEntries.push({name: "Accedi al modulo per allegare un file...", functionName: "doGet"});
  ss.addMenu("Carica scheda di rilevazione dati...", menuEntries);
}

function doGet(e) {
  var app = UiApp.createApplication().setTitle("FORM per il caricamento della scheda di rilevazione dati");
  SpreadsheetApp.getActiveSpreadsheet().show(app);
  var form = app.createFormPanel().setId('frm').setEncoding('multipart/form-data');
  var formContent = app.createVerticalPanel();
  form.add(formContent);  
  formContent.add(app.createFileUpload().setName('thefile'));

  // these parameters need to be passed by form
  // in doPost() these cannot be found out anymore
  formContent.add(app.createHidden("activeCell", SpreadsheetApp.getActiveRange().getA1Notation()));
  formContent.add(app.createHidden("activeSheet", SpreadsheetApp.getActiveSheet().getName()));
  formContent.add(app.createHidden("activeSpreadsheet", SpreadsheetApp.getActiveSpreadsheet().getId()));
  formContent.add(app.createSubmitButton('Invia ed archivia scheda'));
  app.add(form);
  SpreadsheetApp.getActiveSpreadsheet().show(app);
  return app;
}

function doPost(e) {
  var app = UiApp.getActiveApplication();
  app.createLabel('sto salvando...');
  var fileBlob = e.parameter.thefile;
  var doc = DocsList.getFolderById('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').createFile(fileBlob);
  var label = app.createLabel('file caricato con successo');

  // write value into current cell
  var value = 'hyperlink("' + doc.getUrl() + '";"' + doc.getName() + '")'
  var activeSpreadsheet = e.parameter.activeSpreadsheet;
  var activeSheet = e.parameter.activeSheet;
  var activeCell = e.parameter.activeCell;
  var label = app.createLabel('file memorizzato correttamente');
  app.add(label);
  SpreadsheetApp.openById(activeSpreadsheet).getSheetByName(activeSheet).getRange(activeCell).setFormula(value);
  app.close();
  return app;
}
根据你的问题

从昨天起一切都很顺利,但从今天早上起我收到了这个一般性错误:遇到错误:发生了意外错误

据谷歌开发者称

所以,我认为问题可能就在这里

var doc=DocsList.getFolderById'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'.createFilefileBlob


尝试使用DriveApp而不是DocList

…快速有效!你的直觉是完美的,我的问题解决了。谢谢你的大力支持!