Skip to content

Instantly share code, notes, and snippets.

@rawcreative
Last active March 17, 2025 21:16
Show Gist options
  • Select an option

  • Save rawcreative/3e984c62937af6e78b3e6225fa9f6391 to your computer and use it in GitHub Desktop.

Select an option

Save rawcreative/3e984c62937af6e78b3e6225fa9f6391 to your computer and use it in GitHub Desktop.

Revisions

  1. rawcreative revised this gist Mar 17, 2025. No changes.
  2. rawcreative created this gist Mar 17, 2025.
    57 changes: 57 additions & 0 deletions Code.gs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,57 @@

    function getFilesFromDrive() {
    var sheet = SpreadsheetApp.getActive().getSheetByName('SHEETNAME');
    var folders = DriveApp.getFolderById('XXFOLDERIDXX');
    sheet.clear();
    sheet.appendRow(['Folder', 'Name', 'URL']);

    var folder = folders.getFolders();
    if (folder.hasNext()) {

    processFolder(folder);
    } else {
    Browser.msgBox('Folder not found!');
    }

    function processFolder(folder) {
    while (folder.hasNext()) {
    var f = folder.next();
    var contents = f.getFiles();
    addFilesToSheet(contents, f);
    var subFolder = f.getFolders();
    processFolder(subFolder);
    }
    }

    function addFilesToSheet(files, folder) {
    var data;
    var folderName = folder.getName();
    var parentFolders = folder.getParents();
    var parentFolder = 'Drive';
    var parents = [];

    while (parentFolders.hasNext()) {
    var parent = parentFolders.next();
    parents.unshift(parent.getName());
    parentFolders = parent.getParents();
    }

    var pLen = parents.length;
    for (i = 0; i < pLen; i++){
    parentFolder = parentFolder + " // " + parents[i];
    }

    folderName = parentFolder + " // " + folderName;

    while (files.hasNext()) {
    var file = files.next();
    Logger.log(file.getName());

    sheet.appendRow([
    folderName,
    file.getName(),
    file.getUrl()
    ]);
    }
    }
    }