Привет! Я создаю новый файл на диске 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'));