如何修改此脚本,以便可以在不上传图像的情况下插入数据?

时间:2019-06-10 22:51:04

标签: google-apps-script google-sheets

感谢您阅读我的问题。 我在互联网上找到了一个Google Apps脚本,该脚本可以将图像上传到Google驱动器,并且对我有用。然后,我对其进行了一些修改-我使用appendRow()方法添加了一些列。但是,如果没有上传图片,则此脚本不起作用。

我是新手,仍然在学习Google Apps脚本。请教我如何修改此脚本,这样,即使不上传图像,该脚本仍然可以插入数据。

这是我修改过的脚本:

function doGet(e) {return message("Error: no parameters in doGet")}

function doPost(e) {
 if (!e.parameters.filename ||!e.parameters.file ||!e.parameters.imageformat) {return message("Error: Bad parameters in doPost");} else {
var imgf = e.parameters.imageformat[0].toUpperCase();
var mime =
    (imgf == 'BMP')  ? MimeType.BMP
  : (imgf == 'GIF')  ? MimeType.GIF
  : (imgf == 'JPEG') ? MimeType.JPEG
  : (imgf == 'JPG')  ? MimeType.JPEG
  : (imgf == 'PNG')  ? MimeType.PNG
  : (imgf == 'SVG')  ? MimeType.SVG
  : false;
if (mime) {
  var data = Utilities.base64Decode(e.parameters.file, Utilities.Charset.UTF_8);
  var blob = Utilities.newBlob(data, mime, e.parameters.filename);

  //get the image file ID like this:
  var content =  DriveApp.getFolderById('folderID').createFile(blob);
  var imageID = content.getId();
  var imageName = content.getName();
  var imageshowlink = "https://docs.google.com/uc?export=view&id=" + imageID;
  var pertanyaan = e.parameter.pertanyaan1;
  var jwbA = e.parameter.jawabA;
  var jwbB = e.parameter.jawabB;
  var jwbC = e.parameter.jawabC;
  var jwbD = e.parameter.jawabD;
  var kunci = e.parameter.kuncijwb;

  //append the ID to your spreadsheet like this:
  var ss = SpreadsheetApp.openById('SS ID');
  var sh = ss.getSheets()[0];
  sh.appendRow([imageID, imageName, imageshowlink, pertanyaan, jwbA, jwbB, jwbC, jwbD, kunci]);
  return message("Success");
  } else {return message("Error: Bad image format");}
}
}

function message(msg) {
return  
ContentService.createTextOutput(JSON.stringify({Result: msg })).setMimeType(ContentService.MimeType.JSON);}

0 个答案:

没有答案