Как мне создать разрешение на Google листе на документах. Здесь показывают ошибку
{
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"}
],
"code": 403,
"message": "Insufficient Permission"}
}
вот мой код. Я использую PHP-библиотеку.
function insertPermission($fileId) {
$client = $this->getClient();
$client->setScopes(Google_Service_Drive::DRIVE);
$service = new Google_Service_Drive($client);
$newPermission = new Google_Service_Drive_Permission(
array(
"role"=> "writer",
"type"=> "domain",)
);
try {
return $service->permissions->create($fileId, $newPermission);
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
return NULL;
}
После установки разрешения он отклоняется и возвращает эту ошибку.
permissions.create Метод можно использовать для вставки прав доступа в файл на диске Google.
POST https://www.googleapis.com/drive/v3/files/fileId/permissions
{
"role": "writer",
"type": "user",
"emailAddress": "[email protected]"}
Чтобы выполнить вышеуказанный запрос, пользователь, прошедший проверку подлинности в настоящий момент, должен был пройти проверку подлинности с использованием следующих областей и, конечно, уже иметь права доступа к файлу.
insufficientPermissions
Означает, что пользователь, с которым вы аутентифицировались, либо не предоставил вашему приложению разрешения на внесение этих изменений, либо у них самих нет разрешений. Первое, что я хотел бы сделать, это проверить области, запрошенные вашим приложением, добавить необходимые области, повторно аутентифицировать пользователя и повторить попытку.
Других решений пока нет …