Google Drive API перечисляет все вхождения в папке - PullRequest
0 голосов
/ 28 января 2020

Я использую Google Drive API client для Laravel и пытаюсь перечислить папки по фильтрам запросов.

$scope = Config::get('options.gdrive_scopes');
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . base_path() . DIRECTORY_SEPARATOR . 'gdrive_atdnj.json');

$user = Config::get('options.google_drive_user_name');
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->setApplicationName(Config::get('app.name'));
$client->setScopes($scope);
$client->setAccessType('offline');
$client->setSubject($user);

$service = new \Google_Service_Drive($client);
$files_to_be_uploaded = Storage::files('orders/' . $orderId);

$project_folder_filters = array(
 'fields' => 'files(id)',
 'q' => "name contains '" . $project_folder_name . "' and mimeType='application/vnd.google-apps.folder'",
 'supportsAllDrives' => true,
 'includeItemsFromAllDrives' => true,
);
 $project_folder_results =   $service->files;
 $project_folder_results = $service->files->listFiles($project_folder_filters);
 dd($project_folder_filters, count($project_folder_results->getFiles()));

В ответ я получаю только один Один, возвращенный в наборе результатов вхождение папки, где на Google Диске есть 2 папки с одинаковым именем 2 папки с одинаковым именем . Думал, что владелец другой. Как я могу получить доступ ко всем папкам по заданной строке запроса с помощью API Google Drive?

1 Ответ

1 голос
/ 29 января 2020

Чтобы учетная запись службы имела доступ к групповым дискам (Gsuite), необходимо настроить делегирование для домена в рамках этой учетной записи, предоставляющей ей доступ к дискам Gsuite.

Ссылка:

...