Creates a new permission for a file. (In this example the permission is created for the file with id = 1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ)
<?php
// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");
$rest = new CkRest();
// Provide a previously obtained OAuth2 access token.
$oauth2 = new CkOAuth2();
$oauth2->put_AccessToken('OAUTH2_ACCESS_TOKEN');
$rest->SetAuthOAuth2($oauth2);
$success = $rest->Connect('www.googleapis.com',443,true,true);
if ($success != true) {
print $rest->lastErrorText() . "\n";
exit;
}
$rest->AddQueryParam('includeTeamDriveItems','true');
$rest->AddQueryParam('supportsTeamDrives','true');
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
$jsonReq = new CkJsonObject();
$jsonReq->UpdateString('role','reader');
$jsonReq->UpdateString('type','anyone');
$sbReq = new CkStringBuilder();
$jsonReq->EmitSb($sbReq);
$rest->AddHeader('Content-Type','application/json');
$sbJson = new CkStringBuilder();
$success = $rest->FullRequestSb('POST','/drive/v3/files/1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ/permissions',$sbReq,$sbJson);
if ($success != true) {
print $rest->lastErrorText() . "\n";
exit;
}
if ($rest->get_ResponseStatusCode() != 200) {
print 'Received error response code: ' . $rest->get_ResponseStatusCode() . "\n";
print 'Response body:' . "\n";
print $sbJson->getAsString() . "\n";
exit;
}
$json = new CkJsonObject();
$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');
print 'Example Completed.' . "\n";
?>
{
"role": "reader",
"type": "anyone"
}
{
"kind": "drive#permission",
"id": "anyoneWithLink",
"type": "anyone",
"role": "reader",
"allowFileDiscovery": false
}