首先,我为我在这里的知识不足而道歉-毫无疑问,这对于了解这一点的人来说非常简单-
我正在尝试将提交的每种表单的所有文件上传到一个文件夹中。
我有在这里找到的这段代码:Google Form: How to save multiple file upload in a specific folder?
function onFormSubmit(e) {
var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
var formResponse = formResponses[formResponses.length-1];
var itemResponses = formResponse.getItemResponses();
// I modified below script.
Utilities.sleep(3000);
var folderId = "###"; // Please set folder ID of the destination folder.
var destfolder = DriveApp.getFolderById(folderId);
for (var i = 0; i < itemResponses.length; i++) {
if (itemResponses[i].getItem().getType() == "FILE_UPLOAD") {
var ids = itemResponses[i].getResponse();
for (var j = 0; j < ids.length; j++) {
var file = DriveApp.getFileById(ids[j]);
destfolder.addFile(file);
file.getParents().next().removeFile(file);
}
}
}
}
在提交时,出现此错误“找不到具有给定ID的项目,或者您没有访问权限。(第12行,文件“代码”)”]
第12行是这个:
var destfolder = DriveApp.getFolderById(folderId);
两个问题:-这里出了什么问题,我该如何解决?
这是我处理图像文件的方法:
function uploadTheForm(theForm) {
var rObj={};
rObj['vendor']=theForm.vendor;
rObj['amount']=theForm.amount;
rObj['date']=theForm.date;
rObj['notes']=theForm.notes
var fileBlob=theForm.receipt;
var fldr = DriveApp.getFolderById(receiptImageFolderId);
rObj['file']=fldr.createFile(fileBlob);
rObj['filetype']=fileBlob.getContentType();
Logger.log(JSON.stringify(rObj));
var cObj=formatFileName(rObj);
Logger.log(JSON.stringify(cObj));
var ss=SpreadsheetApp.openById(SSID);
ss.getSheetByName('Receipt Information').appendRow([cObj.date,cObj.vendor,cObj.amount,cObj.notes,cObj.file.getUrl()]);
var html=Utilities.formatString('<br />FileName: %s',cObj.file.getName());
return html;
}