Я использую API Google Диска для php и пытаюсь скопировать файлы в определенную папку и дать им разрешения.
Когда я пытаюсь выполнить его с помощью отладчика без проблем, права устанавливаются нахорошие пользователи.Но когда я пытаюсь выполнить его "нормально", результаты никогда не бывают одинаковыми, и кажется, что при настройке прав происходит сбой (или время ожидания).
Это мой код:
function deleteFilePermissions($fileId)
{
global $driveService;
$results = $driveService->permissions->listPermissions($fileId, array(
'fields' => 'nextPageToken, permissions(id, role, emailAddress)'
));
foreach ($results->getPermissions() as $permission) {
if ($permission->getRole() != 'owner'
&& $permission->getEmailAddress() != 'noreply@opportunities-fo-1541429464609.iam.gserviceaccount.com')
$driveService->permissions->delete($fileId, $permission->getId());
}
}
function changeFileRights($fileId, $rights, $emailAddresses)
{
global $driveService;
deleteFilePermissions($fileId);
foreach ($rights as $key => $right) {
$userPermission = new Google_Service_Drive_Permission(array(
'type' => 'user',
'role' => $right,
'emailAddress' => $emailAddresses[$key]
));
$request = $driveService->permissions->create($fileId, $userPermission, array(
'fields' => 'id',
'sendNotificationEmail' => false
));
}
}
Этоэто вызов функции:
changeFileRights($fileId, ['reader', 'writer'], ['email1@gmail.com', 'email2@gmail.com']);