我正在使用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 的所有文件夹?
要让服务帐号访问团队云端硬盘 (Gsuite(,您需要为该服务帐号设置全网域授权,以授予其访问 Gsuite 云端硬盘的权限。
参考:
- 将网域范围的权限委派给服务帐号