Google Drive API - сбой при настройке разрешений - PullRequest
0 голосов
/ 28 ноября 2018

Я использую 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']);

1 Ответ

0 голосов
/ 28 ноября 2018

Хорошо, мне удалось это сделать, увеличив максимальный лимит исполнения моего php.ini.Исполнение было слишком длинным, и поэтому оно не давало мне один и тот же результат каждый раз.

...