Я создаю приложение, которое интегрируется с API-интерфейсом Google Диска (версия 3), чтобы он мог найти файл внутри именованной папки путем ввода пользователем, а затем получить ссылку на веб-контент для этого файла. Мое приложение связывается с учетной записью службы, в которой будут храниться файлы моего приложения и получение ссылки. Единственная проблема в том, что когда я использую код, показанный ниже, он возвращает результат, показанный ниже, который является NULL, за исключением нескольких полей. Что я делаю не так?
Код, вызывающий проблему:
<?php require_once("./vendor/autoload.php"); putenv('GOOGLE_APPLICATION_CREDENTIALS=service-account.json'); $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->setScopes(implode(' ', array(Google_Service_Drive::DRIVE))); $service = new Google_Service_Drive($client); $optParams = array("q" => "'0BxNR85wn9MERczRqbkU0LTBQdUk' in parents"); $results = $service->files->listFiles($optParams); if(count($results->getFiles()) == 0){ echo "No files found."; }else{ echo "Files found.<br>"; foreach($results->getFiles() as $file){ if($file->getId() != "0B4C3vGWHN-Wgc3RhcnRlcl9maWxl"){ echo $file->getId() . "<br>"; $content = $service->files->get($file->getId()); $filedata = $service->files->get($file->getId()); echo "<pre>"; var_dump($filedata); echo "</pre>"; } } } ?>
Вывод кодов:
Files found. 1L61iP4mrc0HyVmHhLB4TFz-1revFg2l6cdPQDh7OLUY object(Google_Service_Drive_DriveFile)#68 (56) { ["collection_key":protected]=> string(6) "spaces" ["appProperties"]=> NULL ["capabilitiesType":protected]=> string(42) "Google_Service_Drive_DriveFileCapabilities" ["capabilitiesDataType":protected]=> string(0) "" ["contentHintsType":protected]=> string(42) "Google_Service_Drive_DriveFileContentHints" ["contentHintsDataType":protected]=> string(0) "" ["createdTime"]=> NULL ["description"]=> NULL ["explicitlyTrashed"]=> NULL ["fileExtension"]=> NULL ["folderColorRgb"]=> NULL ["fullFileExtension"]=> NULL ["headRevisionId"]=> NULL ["iconLink"]=> NULL ["id"]=> string(44) "1L61iP4mrc0HyVmHhLB4TFz-1revFg2l6cdPQDh7OLUY" ["imageMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileImageMediaMetadata" ["imageMediaMetadataDataType":protected]=> string(0) "" ["isAppAuthorized"]=> NULL ["kind"]=> string(10) "drive#file" ["lastModifyingUserType":protected]=> string(25) "Google_Service_Drive_User" ["lastModifyingUserDataType":protected]=> string(0) "" ["md5Checksum"]=> NULL ["mimeType"]=> string(36) "application/vnd.google-apps.document" ["modifiedByMeTime"]=> NULL ["modifiedTime"]=> NULL ["name"]=> string(17) "Untitled document" ["originalFilename"]=> NULL ["ownedByMe"]=> NULL ["ownersType":protected]=> string(25) "Google_Service_Drive_User" ["ownersDataType":protected]=> string(5) "array" ["parents"]=> NULL ["permissionsType":protected]=> string(31) "Google_Service_Drive_Permission" ["permissionsDataType":protected]=> string(5) "array" ["properties"]=> NULL ["quotaBytesUsed"]=> NULL ["shared"]=> NULL ["sharedWithMeTime"]=> NULL ["sharingUserType":protected]=> string(25) "Google_Service_Drive_User" ["sharingUserDataType":protected]=> string(0) "" ["size"]=> NULL ["spaces"]=> NULL ["starred"]=> NULL ["thumbnailLink"]=> NULL ["trashed"]=> NULL ["version"]=> NULL ["videoMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileVideoMediaMetadata" ["videoMediaMetadataDataType":protected]=> string(0) "" ["viewedByMe"]=> NULL ["viewedByMeTime"]=> NULL ["viewersCanCopyContent"]=> NULL ["webContentLink"]=> NULL ["webViewLink"]=> NULL ["writersCanShare"]=> NULL ["internal_gapi_mappings":protected]=> array(0) { } ["modelData":protected]=> array(0) { } ["processed":protected]=> array(0) { } } 0BxNR85wn9MERUjRaYURVdXVhMlk object(Google_Service_Drive_DriveFile)#79 (56) { ["collection_key":protected]=> string(6) "spaces" ["appProperties"]=> NULL ["capabilitiesType":protected]=> string(42) "Google_Service_Drive_DriveFileCapabilities" ["capabilitiesDataType":protected]=> string(0) "" ["contentHintsType":protected]=> string(42) "Google_Service_Drive_DriveFileContentHints" ["contentHintsDataType":protected]=> string(0) "" ["createdTime"]=> NULL ["description"]=> NULL ["explicitlyTrashed"]=> NULL ["fileExtension"]=> NULL ["folderColorRgb"]=> NULL ["fullFileExtension"]=> NULL ["headRevisionId"]=> NULL ["iconLink"]=> NULL ["id"]=> string(28) "0BxNR85wn9MERUjRaYURVdXVhMlk" ["imageMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileImageMediaMetadata" ["imageMediaMetadataDataType":protected]=> string(0) "" ["isAppAuthorized"]=> NULL ["kind"]=> string(10) "drive#file" ["lastModifyingUserType":protected]=> string(25) "Google_Service_Drive_User" ["lastModifyingUserDataType":protected]=> string(0) "" ["md5Checksum"]=> NULL ["mimeType"]=> string(10) "image/jpeg" ["modifiedByMeTime"]=> NULL ["modifiedTime"]=> NULL ["name"]=> string(76) "Copy of 3f86195896e5d28d5e9492eb0415544049c4a49467d3534d3fa2e5d52a2636e0.jpg" ["originalFilename"]=> NULL ["ownedByMe"]=> NULL ["ownersType":protected]=> string(25) "Google_Service_Drive_User" ["ownersDataType":protected]=> string(5) "array" ["parents"]=> NULL ["permissionsType":protected]=> string(31) "Google_Service_Drive_Permission" ["permissionsDataType":protected]=> string(5) "array" ["properties"]=> NULL ["quotaBytesUsed"]=> NULL ["shared"]=> NULL ["sharedWithMeTime"]=> NULL ["sharingUserType":protected]=> string(25) "Google_Service_Drive_User" ["sharingUserDataType":protected]=> string(0) "" ["size"]=> NULL ["spaces"]=> NULL ["starred"]=> NULL ["thumbnailLink"]=> NULL ["trashed"]=> NULL ["version"]=> NULL ["videoMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileVideoMediaMetadata" ["videoMediaMetadataDataType":protected]=> string(0) "" ["viewedByMe"]=> NULL ["viewedByMeTime"]=> NULL ["viewersCanCopyContent"]=> NULL ["webContentLink"]=> NULL ["webViewLink"]=> NULL ["writersCanShare"]=> NULL ["internal_gapi_mappings":protected]=> array(0) { } ["modelData":protected]=> array(0) { } ["processed":protected]=> array(0) { } } 0BxNR85wn9MERWUR1TEh6ckROUGM object(Google_Service_Drive_DriveFile)#74 (56) { ["collection_key":protected]=> string(6) "spaces" ["appProperties"]=> NULL ["capabilitiesType":protected]=> string(42) "Google_Service_Drive_DriveFileCapabilities" ["capabilitiesDataType":protected]=> string(0) "" ["contentHintsType":protected]=> string(42) "Google_Service_Drive_DriveFileContentHints" ["contentHintsDataType":protected]=> string(0) "" ["createdTime"]=> NULL ["description"]=> NULL ["explicitlyTrashed"]=> NULL ["fileExtension"]=> NULL ["folderColorRgb"]=> NULL ["fullFileExtension"]=> NULL ["headRevisionId"]=> NULL ["iconLink"]=> NULL ["id"]=> string(28) "0BxNR85wn9MERWUR1TEh6ckROUGM" ["imageMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileImageMediaMetadata" ["imageMediaMetadataDataType":protected]=> string(0) "" ["isAppAuthorized"]=> NULL ["kind"]=> string(10) "drive#file" ["lastModifyingUserType":protected]=> string(25) "Google_Service_Drive_User" ["lastModifyingUserDataType":protected]=> string(0) "" ["md5Checksum"]=> NULL ["mimeType"]=> string(10) "image/jpeg" ["modifiedByMeTime"]=> NULL ["modifiedTime"]=> NULL ["name"]=> string(68) "3f86195896e5d28d5e9492eb0415544049c4a49467d3534d3fa2e5d52a2636e0.jpg" ["originalFilename"]=> NULL ["ownedByMe"]=> NULL ["ownersType":protected]=> string(25) "Google_Service_Drive_User" ["ownersDataType":protected]=> string(5) "array" ["parents"]=> NULL ["permissionsType":protected]=> string(31) "Google_Service_Drive_Permission" ["permissionsDataType":protected]=> string(5) "array" ["properties"]=> NULL ["quotaBytesUsed"]=> NULL ["shared"]=> NULL ["sharedWithMeTime"]=> NULL ["sharingUserType":protected]=> string(25) "Google_Service_Drive_User" ["sharingUserDataType":protected]=> string(0) "" ["size"]=> NULL ["spaces"]=> NULL ["starred"]=> NULL ["thumbnailLink"]=> NULL ["trashed"]=> NULL ["version"]=> NULL ["videoMediaMetadataType":protected]=> string(48) "Google_Service_Drive_DriveFileVideoMediaMetadata" ["videoMediaMetadataDataType":protected]=> string(0) "" ["viewedByMe"]=> NULL ["viewedByMeTime"]=> NULL ["viewersCanCopyContent"]=> NULL ["webContentLink"]=> NULL ["webViewLink"]=> NULL ["writersCanShare"]=> NULL ["internal_gapi_mappings":protected]=> array(0) { } ["modelData":protected]=> array(0) { } ["processed":protected]=> array(0) { } }
Прямо сейчас это всего лишь куча тестового кода, чтобы увидеть, как будет возвращаться метод получения файлов, который на данный момент много нулевых, поэтому прямо сейчас не ожидают большой функциональности. В приведенном ниже коде не предполагается ничего загружать, это просто отладка. Итак, мне нужно знать, как я могу получить доступ к свойству webContentLink из 3 файлов, найденных этим приложением из API?