Google 形成如何上传文件,然后根据提交的值将其放入新文件夹
Google Form how to upload files and then place it into new folder based on the value submitted
根据这个问题,
这导致 google 表单脚本编辑器的代码:
function onFormSubmit(e) {
const folderId = "1HVTDe5YxYDolXrEaGebHOoypYqG38d_fkauOGg5hCAqQfw-amW5aIazflSJEl7THNGTn-nq3"; // Please set top folder ID of the destination folders.
const form = FormApp.getActiveForm();
const formResponses = form.getResponses();
const itemResponses = formResponses[formResponses.length-1].getItemResponses();
Utilities.sleep(3000); // This line might not be required.
// Prepare the folder.
const destFolder = DriveApp.getFolderById(folderId);
const folderName = itemResponses[0].getResponse();
const subFolder = destFolder.getFoldersByName(folderName);
const folder = subFolder.hasNext() ? subFolder : destFolder.createFolder(folderName);
// Move files to the folder.
itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
}
我收到一条错误消息:TypeError: itemResponses[1].getResponse(...).forEach is not a function
我应该怎么做才能成功获得此代码 运行?
我对这方面完全陌生,非常感谢任何形式的帮助。谢谢
编辑:谢谢@Tanaike!。它被清除了。感谢您的帮助,此案已结案。
修改
itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
至:
itemResponses[2].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
这就是我的问题的答案,归功于@Tanaike。
这是对该答案的评论 link:
根据这个问题,
这导致 google 表单脚本编辑器的代码:
function onFormSubmit(e) {
const folderId = "1HVTDe5YxYDolXrEaGebHOoypYqG38d_fkauOGg5hCAqQfw-amW5aIazflSJEl7THNGTn-nq3"; // Please set top folder ID of the destination folders.
const form = FormApp.getActiveForm();
const formResponses = form.getResponses();
const itemResponses = formResponses[formResponses.length-1].getItemResponses();
Utilities.sleep(3000); // This line might not be required.
// Prepare the folder.
const destFolder = DriveApp.getFolderById(folderId);
const folderName = itemResponses[0].getResponse();
const subFolder = destFolder.getFoldersByName(folderName);
const folder = subFolder.hasNext() ? subFolder : destFolder.createFolder(folderName);
// Move files to the folder.
itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
}
我收到一条错误消息:TypeError: itemResponses[1].getResponse(...).forEach is not a function
我应该怎么做才能成功获得此代码 运行? 我对这方面完全陌生,非常感谢任何形式的帮助。谢谢
编辑:谢谢@Tanaike!。它被清除了。感谢您的帮助,此案已结案。
修改
itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
至:
itemResponses[2].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
这就是我的问题的答案,归功于@Tanaike。
这是对该答案的评论 link: