Этот код поможет вам решить текущую проблему:
function myFunction() {
var folderId = "main-id-folder";
// Take the mainder folder
var mainFolder = DriveApp.getFolderById(folderId);
// Take the subfolders inside your main folder
var subFolders = mainFolder.getFolders();
var result = [];
// Iterate over each subfolder
while(subFolders.hasNext()){
var subFolder = subFolders.next();
// Take the files inside the current subfolder
var files = subFolder.getFiles();
// Take each file inside the current subfolder
while(files.hasNext()){
var file = files.next();
var tmp = {
file_name: file.getName(),
url: "https://docs.google.com/spreadsheets/d/" + file.getId() + "/edit#gid=0"
};
// For the current file, stablish the permissions you want
file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
result.push(tmp);
}
}
Logger.log(result);
}
Проблема, с которой вы столкнулись, заключается в том, что вы пытались получить файлы только из основной папки, но для того, чтобы получить файлы внутри каждой подпапки,сначала вам нужно было взять каждую подпапку, используя .getFolders();
, а затем для каждой из них вы могли бы использовать .getFiles();
.
Документы
Это документы, которые я использовал, чтобы помочь вам вЕсли вы хотите увидеть их или кого-либо еще, у кого есть похожая проблема: