Generate List of all Files in a Google Drive Folder

This is like running the `ls` Linux command for listing all the files and their details in a particular Google Drive folder. You an even make a tree of files.

Call the listFiles method with the Drive folder name and it will create a list of all files and appends them to a spreadsheet. The direct download links are particularly handy for downloads PDFs and other non Google Docs documents.

Updated to use DriveApp instead of the deprecated DocsList service.


/* Code written by @hubgit 
   <style>.gist table { margin-bottom: 0; }</style><div class="gist-oembed" data-gist="hubgit/3755293.json"></div>
   Updated since DocsList is deprecated 
*/

function listFilesInFolder(folderName) {
  
  var folder = DriveApp.getFoldersByName(folderName).next();
  var contents = folder.getFiles();
  
  var file, data, sheet = SpreadsheetApp.getActiveSheet();
  sheet.clear();
  
  sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);
  
  for (var i = 0; i < contents.length; i++) {
 
    file = contents[i];
    
    if (file.getFileType() == "SPREADSHEET") {
      continue;
    }
        
    data = [ 
      file.getName(),
      file.getDateCreated(),
      file.getSize(),
      file.getUrl(),
      "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
      file.getDescription(),
      file.getFileType().toString()
    ];
    
    sheet.appendRow(data);
  
  }
  
};