- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/document/googlehandler.php
- Класс: BitrixDiskDocumentGoogleHandler
- Вызов: GoogleHandler::insertPermission
private function insertPermission(FileData $fileData, $role = self::PERMISSION_ROLE_WRITER, $type = self::PERMISSION_TYPE_ANYONE)
{
if(!$this->checkRequiredInputParams($fileData->toArray(), array(
'id',
)))
{
return null;
}
$accessToken = $this->getAccessToken();
$http = new HttpClient(array(
'socketTimeout' => 10,
'streamTimeout' => 30,
'version' => HttpClient::HTTP_1_1,
));
$http->setHeader('Content-Type', 'application/json; charset=UTF-8');
$http->setHeader('Authorization', "Bearer {$accessToken}");
$postFields = Json::encode(array(
'role' => $role,
'type' => $type,
));
if($http->post(self::API_URL_V3 . "/files/{$fileData->getId()}/permissions", $postFields) === false)
{
$errorString = implode('; ', array_keys($http->getError()));
$this->errorCollection[] = new Error(
$errorString, self::ERROR_HTTP_INSERT_PERMISSION
);
return false;
}
return $this->checkHttpResponse($http);
}