How to use correctly google drive API?

Viewed 114

I have developed the following code based on other code I found on the internet, but it does not work. Can someone help me to understand my issue?

I get an error saying I don't have the right.

What is the problem?

Thank you very much for your support, that will be well appreciated.

var tokenService_ = function(){return ScriptApp.getOAuthToken()};


function exe() {

  var listObj = reportTeamDrivePermissions('id of the folder');
  console.log(listObj.toString());

}

function reportTeamDrivePermissions(driveId) {

  // Reading the Drive permissions
  var options = {"supportsAllDrives": true,   "fields": 'permissions,nextPageToken',     "pageSize":100};

  var paramString = Object.keys(options).map(function(key) {
    return encodeURIComponent(key) + '=' + encodeURIComponent(options[key]);
  }).join('&');
  var url = "files/"+driveId+"/permissions";
  url = url + (url.indexOf('?') >= 0 ? '&' : '?') + paramString;  
  url = "https://www.googleapis.com/drive/v3/" + url;

  var fetchOptions = {method:"GET",muteHttpExceptions:true, contentType:"application/json", headers:{Authorization:"Bearer "+tokenService_()}};

 var response = UrlFetchApp.fetch(url, fetchOptions);
  if(response.getResponseCode() != 200){
    throw new Error(response.getContentText());
  } else {
    var PermissionListResource = JSON.parse(response.getContentText());
  }

  var myPermisionList = PermissionListResource.permissions;
  var nextPageToken   = PermissionListResource.nextPageToken;

  while (nextPageToken != null) {
    // Reading the Drive permissions
    options = {"supportsAllDrives": true,  "fields": 'permissions,nextPageToken', "pageSize":100,     'pageToken': nextPageToken};

    paramString = Object.keys(options).map(function(key) {
    return encodeURIComponent(key) + '=' + encodeURIComponent(options[key]);
    }).join('&');
    url = "files/"+driveId+"/permissions";
    url = url + (url.indexOf('?') >= 0 ? '&' : '?') + paramString;  
    url = "https://www.googleapis.com/drive/v3/" + url;

    fetchOptions = {method:"GET",muteHttpExceptions:true, contentType:"application/json", headers: {Authorization:"Bearer "+tokenService_()}}

    response = UrlFetchApp.fetch(url, fetchOptions)
    if(response.getResponseCode() != 200){
      throw new Error(response.getContentText());
    } else {
     var PermissionListResource2 = JSON.parse(response.getContentText());
    }
    myPermisionList = myPermisionList.concat(PermissionListResource2.permissions); 
    nextPageToken = myPermisionObject2.nextPageToken;
  }

  return myPermisionList; 

}
0 Answers
Related