Creates a new permission for a file. (In this example the permission is created for the file with id = 1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ)
Dim rest As Chilkat.Rest
Set rest = Chilkat.NewRest
' Provide a previously obtained OAuth2 access token.
Dim oauth2 As Chilkat.OAuth2
Set oauth2 = Chilkat.NewOAuth2
oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
success = rest.SetAuthOAuth2(oauth2)
success = rest.Connect("www.googleapis.com",443,True,True)
If (success <> True) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
success = rest.AddQueryParam("includeTeamDriveItems","true")
success = rest.AddQueryParam("supportsTeamDrives","true")
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
Dim jsonReq As Chilkat.JsonObject
Set jsonReq = Chilkat.NewJsonObject
success = jsonReq.UpdateString("role","reader")
success = jsonReq.UpdateString("type","anyone")
Dim sbReq As Chilkat.StringBuilder
Set sbReq = Chilkat.NewStringBuilder
success = jsonReq.EmitSb(sbReq)
success = rest.AddHeader("Content-Type","application/json")
Dim sbJson As Chilkat.StringBuilder
Set sbJson = Chilkat.NewStringBuilder
success = rest.FullRequestSb("POST","/drive/v3/files/1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ/permissions",sbReq,sbJson)
If (success <> True) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.Print "Received error response code: "; rest.ResponseStatusCode
Debug.Print "Response body:"
Debug.Print sbJson.GetAsString()
Exit Sub
End If
Dim json As Chilkat.JsonObject
Set json = Chilkat.NewJsonObject
success = json.LoadSb(sbJson)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
kind = json.StringOf("kind")
id = json.StringOf("id")
type = json.StringOf("type")
role = json.StringOf("role")
allowFileDiscovery = json.BoolOf("allowFileDiscovery")
Debug.Print "Example Completed."
{
"role": "reader",
"type": "anyone"
}
{
"kind": "drive#permission",
"id": "anyoneWithLink",
"type": "anyone",
"role": "reader",
"allowFileDiscovery": false
}