function
generateFolderList() {
var
rootFolder = DriveApp.getRootFolder();
var
spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var
sheetName = Utilities.formatDate(
new
Date
(),
"GMT+1"
,
"yyyy-MM-dd HH:mm:ss"
);
var
newSheet = spreadsheet.insertSheet(sheetName);
let folders = [[
"structure_level"
,
"parent_folder"
,
"folder_name"
,
"folder_description"
,
"folder_id"
,
"folder_url"
,
"owner_email"
,
"sharing_access"
,
"sharing_permissions"
,
"mime_type"
,
"starred_status"
,
"trashed_status"
,
"date_created"
,
"last_updated"
]];
listFolders(rootFolder,
""
, folders, 1);
newSheet.getRange(1,1,folders.length,folders[0].length.setValues(folders);
}
function
listFolders(folder, parentName, folders, level) {
var
folderName = folder.getName();
var
description = folder.getDescription();
var
folderId = folder.getId();
var
url = folder.getUrl();
var
owner = folder.getOwner().getEmail();
var
sharingAccess = folder.getSharingAccess().toString();
var
sharingPermission = folder.getSharingPermission().toString();
var
mimeType =
"folder"
;
var
starred = folder.isStarred();
var
trashed = folder.isTrashed();
var
dateCreated = folder.getDateCreated();
var
lastUpdated = folder.getLastUpdated();
folders.push([level, parentName, folderName, description, folderId, url, owner, sharingAccess, sharingPermission, mimeType, starred, trashed, dateCreated, lastUpdated]);
var
subFolders = folder.getFolders();
level++;
while
(subFolders.hasNext()) {
var
subFolder = subFolders.next();
listFolders(subFolder, folderName, folders, level);
}
}