Created
August 11, 2018 09:31
-
-
Save danjargold/c6542e68fe3a3b46eeb0172f914641bc to your computer and use it in GitHub Desktop.
Revisions
-
danjargold created this gist
Aug 11, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,71 @@ function listFolders(folder) { var sheet = SpreadsheetApp.getActiveSheet(); sheet.appendRow(["Name", "Sharing Access", "Sharing Permission", "Get Editors", "Get Viewers", "Date", "Size", "URL", "Download", "Description", "Type"]); //writes the headers //var folder = DriveApp.getFolderById("INSERT_YOUR_FILE_ID");//that long chunk of random numbers/letters in the URL when you navigate to the folder //getLooseFiles(folder, sheet); //getSubFolders(folder, sheet); //instead of getting folder by ID rather get all folders and cycle through each. Note this will miss loose files in parent directory. var folder = DriveApp.getFolders() while (folder.hasNext()) { var name = folder.next(); getLooseFiles(name, sheet); getSubFolders(name, sheet); }; } function getLooseFiles(folder, sheet) { var files = folder.getFiles();//initial loop on loose files w/in the folder var cnt = 0; var file; while (files.hasNext()) { var file = files.next(); var listEditors = file.getEditors(); //gets the editor email(s), doesn't show your own as it's assumed var editors = []; for (var cnt = 0; cnt < listEditors.length; cnt++) { editors.push(listEditors[cnt].getEmail()); Logger.log(editors); }; var listViewers = file.getViewers(); //gets the viewer email(s) var viewers = []; for (var cnt = 0; cnt < listViewers.length; cnt++) { viewers.push(listViewers[cnt].getEmail()); Logger.log(viewers); } cnt++; //data chunk pushes all the file info to the ss data = [ file.getName(), file.getSharingAccess(), file.getSharingPermission(), editors.toString(), viewers.toString(), file.getDateCreated(), file.getSize(), file.getUrl(), "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(), file.getDescription(), file.getMimeType(), ]; if(data[1] != "PRIVATE") { sheet.appendRow(data); } }; } function getSubFolders(folder, sheet) { var subfolders = folder.getFolders(); //same thing as above but for all the subfolders in the folder while (subfolders.hasNext()) { Logger.log(folder); var name = subfolders.next(); getLooseFiles(name, sheet); getSubFolders(name, sheet); }; }