Tcl Google Drive: Delete a Particular File Permission

Back to Index

Deletes the permission having an id = "anyoneWithLink". (In this example the file id = 1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ)

Documentation: https://developers.google.com/drive/v3/reference/permissions/delete



load ./chilkat.dll

set rest [new_CkRest]

#   Provide a previously obtained OAuth2 access token.
set oauth2 [new_CkOAuth2]

CkOAuth2_put_AccessToken $oauth2 "OAUTH2_ACCESS_TOKEN"
CkRest_SetAuthOAuth2 $rest $oauth2

set success [CkRest_Connect $rest "www.googleapis.com" 443 1 1]
if {[expr $success != 1]} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkOAuth2 $oauth2
    exit
}

CkRest_AddQueryParam $rest "includeTeamDriveItems" "true"
CkRest_AddQueryParam $rest "supportsTeamDrives" "true"

set sbResponse [new_CkStringBuilder]

set success [CkRest_FullRequestNoBodySb $rest "DELETE" "/drive/v3/files/1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ/permissions/anyoneWithLink" $sbResponse]
if {[expr $success != 1]} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkOAuth2 $oauth2
    delete_CkStringBuilder $sbResponse
    exit
}

if {[expr [CkRest_ResponseStatusCode $rest] != 204]} then {
    puts "Received error response code: [CkRest_ResponseStatusCode $rest]"
    puts "Response body:"
    puts [CkStringBuilder_getAsString $sbResponse]
    delete_CkRest $rest
    delete_CkOAuth2 $oauth2
    delete_CkStringBuilder $sbResponse
    exit
}

puts "Example Completed."

delete_CkRest $rest
delete_CkOAuth2 $oauth2
delete_CkStringBuilder $sbResponse