Спасибо, что прочитали мой вопрос.В интернете я нашел скрипт приложений Google, который загружает изображение на диск 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);}