Objective: To list all the folders in the Drive of an organization and all the people with access to each folder.
I'm doing it through Apps Scripts with the advanced Drive service enabled.
function listFolders() {
var query = 'mimeType = "application/vnd.google-apps.folder" and trashed = false'
var response = Drive.Files.list({corpora: 'domain', q : query});
if (response.items && response.items.length > 0) {
var foldersDetails = getFoldersDetails(response.items);
}
Logger.log(foldersDetails);
}
function getFoldersDetails(items) {
var foldersArr = [];
for (var i = 0; i < items.length; i++) {
var folderDetails = getFolderDetails(items[i].id);
foldersArr.push(folderDetails);
}
return foldersArr;
}
function getFolderDetails(fileId) {
var file = Drive.Files.get(fileId);
return {name: file.title,
permissions: file.permissions}
}
The problem is that I'm just getting nulls instead of permission objects.
The Drive API docs: https://developers.google.com/drive/api/v2/reference/files
What am I doing wrong?