Как получить файл с диска Google по имени папки или идентификатору папки? - PullRequest
0 голосов
/ 11 февраля 2019

Я использую библиотеку клиента Google Apis.

Я не понимаю, как получить список файлов на основе имени папки или идентификатора папки, например: -

Структура папки диска

Main =>
    - Demo 1
        - img.png
        - img2.png
    - Demo 2
        - img_Demo 2.png
        - img2_Demo 2.png
    - Demo 3
        - img_Demo 3.png
        - img2_Demo 3.png

Теперь я получаю список и идентификатор главной папки, используя следующий код

<?php
// include your composer dependencies
require_once 'vendor/autoload.php';
#https://developers.google.com/api-client-library/php/auth/web-app

$client = new Google_Client();
$client->setAuthConfig('client_secret.json');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);

$client->setAccessToken('AccessToken');

$drive = new Google_Service_Drive($client);

$files_list = $drive->files->listFiles(array())->getFiles($optParams);

echo "<pre>";
print_r($files_list);
exit;
?>

Я получил этот вывод:

Array
(
    [0] => Google_Service_Drive_DriveFile Object
        (
            [id] => 1LKMiCuI3OlUYrFlQnl
            [imageMediaMetadataType:protected] => Google_Service_Drive_DriveFileImageMediaMetadata
            [imageMediaMetadataDataType:protected] => 
            [isAppAuthorized] => 
            [kind] => drive#file
            [lastModifyingUserType:protected] => Google_Service_Drive_User
            [mimeType] => application/vnd.google-apps.folder
            [name] => main
            )
        )

1 Ответ

0 голосов
/ 11 февраля 2019

File.list имеет параметр q, который позволит вам искать файлы.Следующее вернет все файлы с родительским идентификатором 1234567, который является идентификатором файла каталога, который вы хотите найти.

'1234567' in parents

Вы можете отправить параметр q как часть вашего optParams

$optParams = array( 'q' => "'1234567' in parents" ); 
$files_list = $drive->files->listFiles($optParams); 
...