Разрешения на создание файла Google API - PullRequest
0 голосов
/ 28 февраля 2019

Привет! Я создаю новый файл на диске Google с помощью PHP SDK примерно так:

$driveService = new Google_Service_Drive($client);

$fileMetadata = new Google_Service_Drive_DriveFile(array(
        'name' => $filename,
    'parents' => array('root')));
$content = file_get_contents($filepath.'.csv');
$file = $driveService->files->create($fileMetadata, array(
'data' => $content,
'mimeType' => 'text/csv',
'uploadType' => 'media'));

И устанавливаю его разрешения.

$user_email = $driveService->about->get(array('fields' => 'user'))->getUser()->getemailAddress();
$userPermission = new Google_Service_Drive_Permission(array(
'type' => 'user',
'role' => 'writer',
'emailAddress' => $user_email
));
$fileMetadata = new Google_Service_Drive_DriveFile(array(
        'name' => $filename,
    'parents' => array('root')));
$content = file_get_contents($filepath.'.csv');

Когда я пытаюсь получить доступ к файлу вграфический интерфейс Google Drive, я могу видеть файлы, но когда я пытаюсь открыть / загрузить их, я получаю ошибку авторизации:

 Access to doc-0g-0c-docs.googleusercontent.com was denied

При загрузке Или

 Authorisation requeired

Если я пытаюсьоткройте в блокноте Google.Я также не могу открыть их в Google Docs.

Код настройки клиента:

$ client = new Google_Client ();

    if (!empty(get_option('access_token')) && !$reset) {
    $credentials_file = plugin_dir_path(__FILE__) . 
    get_option('credentials_filename');

    $client->setAuthConfig($credentials_file);
    $client->setPrompt('select_account consent');
    $client->setApplicationName("Client_Library_Examples");

    $client->addScope(Google_Service_Drive::DRIVE);

    $client->setRedirectUri( plugin_dir_url( __FILE__ ) . '/oauth2callback.php');
    $client->setAccessType('offline');        // offline access
    $client->setIncludeGrantedScopes(true);   
    $client->setAccessToken(get_option('access_token'));
...