I have a Google sheet where a user can cut and paste the google drive folder URL, and it will extract the folder ID. This is extracted in a named range "FolderID".
I then want to list the folders and files in the folder (subfolders and files within as well if possible) into the worksheet "Files".
I have played around with another script I wrote, but am coming up with an error for the initial folders list (I haven't gotten to the files list yet).
I get this error: Exception: Unexpected error while getting the method or property getFolderById on object DriveApp.
The current script is:
function listFoldersAndFilesInAFolder() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName('Files');
var foldername = ss.getRangeByName('FolderID');
sh.clearContents();
sh.appendRow(["Name", "Link"]);
var fA = [];
var folders = DriveApp.getFolderById(foldername).getFolders();//Enter folder id
while (folders.hasNext()) {
var folder = folders.next();
var folderURLstart = "https://drive.google.com/drive/folders/"
fA.push([folder.getName(), folderURLstart + folder.getId()]);
}
sh.getRange(sh.getLastRow() + 1, 1, fA.length, 2).setValues(fA);
sh.getRange(2, 1, sh.getLastRow() - 1, 2).sort({ column: 1, ascending: true });
}
Can anyone help:
- fix the script above so I can list folders.
- direct me on what to add to list files, and subfolders and files?