priyanksshu
priyanksshu

Reputation: 1

Import list of files and folders in google drive into google sheet

I want to IMPORT a list of files and folders in a specific folder in a google sheet. In active cell of spreadsheet im using.

I am new to programming and i have managed to try following code, but it does nt seem to work so far. Can you check please?

function listFolderContents() {
  var foldername = '14DWNgJloxIjw9zeE-0Q2u_k5wQflkMMC';
  var folderlisting = 'listing of folder ' + foldername;
  
  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();
  var contents = folder.getFiles();
  
  //var ss = SpreadsheetApp.create(folderlisting);
  var cc = SpreadsheetApp.getCurrentCell();
 // var sheet = ss.getActiveSheet();


  var file;
  var name;
  var link;
  var cc;
  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    link = file.getUrl();  
    cc.push([name,link]);  
  }  
};

Upvotes: 0

Views: 1339

Answers (2)

Cooper
Cooper

Reputation: 64032

function youfunc() {
  const folderid = '';
  const folder = DriveApp.getFolderById(folderid);
  const files = folder.getFiles();
  var a = '';
  while(files.hasNext()) {
    let file = files.next();
    a += `filename: ${file.getName()} fileid: ${file.getId()} filesize: ${file.getSize()}\n`;
  }
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet1');
  const rg = sh.getrange('A1').setValue(a)
}

Upvotes: 0

Mike Steelson
Mike Steelson

Reputation: 15308

For files AND folders ... https://docs.google.com/spreadsheets/d/13fHMrWR9OOWa045uJbkz67YoVkOG4Pg6ScvrRpE-WBc/copy

function listFilesAndFolders() {
  var folderid = '18akqHAN7PSPMnG3h5HpCskQsMCv4TqCM'; // change FolderID
  var sh = SpreadsheetApp.getActiveSheet();
  sh.clear();
  sh.appendRow(["parent","folder", "name", "update", "size", "URL", "ID", "description", "type"]);
  try {
    var parentFolder =DriveApp.getFolderById(folderid);
    listFiles(parentFolder,parentFolder.getName())
    listSubFolders(parentFolder,parentFolder.getName());
  } catch (e) {
    Logger.log(e.toString());
  }
}

function listSubFolders(parentFolder,parent) {
  var childFolders = parentFolder.getFolders();
  while (childFolders.hasNext()) {
    var childFolder = childFolders.next();
    Logger.log("Fold : " + childFolder.getName());
    listFiles(childFolder,parent)
    listSubFolders(childFolder,parent + "|" + childFolder.getName());
  }
}

function listFiles(fold,parent){
  var sh = SpreadsheetApp.getActiveSheet();
  var data = [];
  var files = fold.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    data = [ 
      parent,
      fold.getName(),
      file.getName(),
      file.getLastUpdated(),
      file.getSize(),
      file.getUrl(),
      file.getId(),
      file.getDescription(),
      file.getMimeType()
      ];
    sh.appendRow(data);
  }
}

Upvotes: 1

Related Questions