2016-10-10 9 views
0

GoogleドライブAPI(バージョン3)と統合されたアプリケーションを作成して、ユーザー入力によって名前付きフォルダ内のファイルを見つけて取得するそのファイルのWebコンテンツリンク。私のアプリケーションは、私のアプリケーションのファイルが保存されるサービスアカウントに接続し、リンクを取得しています。唯一の問題は、以下のコードを使用すると、いくつかのフィールドを除いてすべてNULLである以下の出力を返します。私は間違って何をしていますか?問題の原因となっているGoogleドライブAPI PHP:Files.getから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) { 
    } 
} 

は今、ファイルのメソッドを得ることかを確認するには、テストコードのちょうど束であります現在のところヌルが多いので、現在は多くの機能が期待できません。以下のコードは、まだ何もダウンロードする予定ではありません。ただのデバッグです。だから、私が知る必要があるのは、このアプリケーションがAPIから見つけた3つのファイルのwebContentLinkプロパティにどのようにアクセスできますか?

答えて

1

readこのドライブAPI V3移行のドキュメントをご覧ください。

リソースは、デフォルトでは返されなくなりました。 fieldsクエリパラメータを使用して、返される特定のフィールドを要求します。指定されていない場合、一般的に使用されるフィールドのサブセットのみが返されます。

+0

このフィールドプロパティをFiles.getメソッドに追加するにはどうすればよいですか? –

+0

PHPのクイックスタートページ:https://developers.google.com/drive/v3/web/quickstart/php –

+0

を参照してください。ありがとうございました。今夜私はそれを試してみると、それは動作すると確信しています。もしそうなら、これを答えとしてマークします。ありがとうございました。それが動作すれば私はそれを答えとして設定します –

関連する問題