List the permissions for a file by file id. (In this example the file id = 1R_70heIyzIAu1_u0prXbYcaIiJRVkgBl)
integer li_rc
oleobject loo_Rest
integer li_Success
oleobject loo_Oauth2
oleobject loo_SbJson
oleobject loo_Json
string ls_Kind
integer i
integer li_Count_i
string ls_Id
string ls_Type
string ls_Role
integer li_AllowFileDiscovery
loo_Rest = create oleobject
li_rc = loo_Rest.ConnectToNewObject("Chilkat_9_5_0.Rest")
if li_rc < 0 then
destroy loo_Rest
MessageBox("Error","Connecting to COM object failed")
return
end if
// Provide a previously obtained OAuth2 access token.
loo_Oauth2 = create oleobject
li_rc = loo_Oauth2.ConnectToNewObject("Chilkat_9_5_0.OAuth2")
loo_Oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
loo_Rest.SetAuthOAuth2(loo_Oauth2)
li_Success = loo_Rest.Connect("www.googleapis.com",443,1,1)
if li_Success <> 1 then
Write-Debug loo_Rest.LastErrorText
destroy loo_Rest
destroy loo_Oauth2
return
end if
loo_Rest.AddQueryParam("includeTeamDriveItems","true")
loo_Rest.AddQueryParam("supportsTeamDrives","true")
loo_SbJson = create oleobject
li_rc = loo_SbJson.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")
li_Success = loo_Rest.FullRequestNoBodySb("GET","/drive/v3/files/1R_70heIyzIAu1_u0prXbYcaIiJRVkgBl/permissions",loo_SbJson)
if li_Success <> 1 then
Write-Debug loo_Rest.LastErrorText
destroy loo_Rest
destroy loo_Oauth2
destroy loo_SbJson
return
end if
if loo_Rest.ResponseStatusCode <> 200 then
Write-Debug "Received error response code: " + string(loo_Rest.ResponseStatusCode)
Write-Debug "Response body:"
Write-Debug loo_SbJson.GetAsString()
destroy loo_Rest
destroy loo_Oauth2
destroy loo_SbJson
return
end if
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat_9_5_0.JsonObject")
loo_Json.LoadSb(loo_SbJson)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
ls_Kind = loo_Json.StringOf("kind")
i = 0
li_Count_i = loo_Json.SizeOfArray("permissions")
do while i < li_Count_i
loo_Json.I = i
ls_Kind = loo_Json.StringOf("permissions[i].kind")
ls_Id = loo_Json.StringOf("permissions[i].id")
ls_Type = loo_Json.StringOf("permissions[i].type")
ls_Role = loo_Json.StringOf("permissions[i].role")
li_AllowFileDiscovery = loo_Json.BoolOf("permissions[i].allowFileDiscovery")
i = i + 1
loop
Write-Debug "Example Completed."
destroy loo_Rest
destroy loo_Oauth2
destroy loo_SbJson
destroy loo_Json
{
"kind": "drive#permissionList",
"permissions": [
{
"kind": "drive#permission",
"id": "07604395918166943595k",
"type": "domain",
"role": "reader",
"allowFileDiscovery": false
},
{
"kind": "drive#permission",
"id": "05909037819814716957",
"type": "user",
"role": "organizer"
},
{
"kind": "drive#permission",
"id": "13254573739200948291",
"type": "user",
"role": "organizer"
}
]
}