如何使用Google云端硬盘获取文件修改日期

时间:2017-11-24 13:09:58

标签: php symfony google-api google-drive-api

我使用以下代码查询文件列表:

    $service = new \Google_Service_Drive($google->getClient());
    $files = $service->files->listFiles();

然后返回以下数据(这是print_r转储)。 应该保留日期的所有字段都是空的(它们实际上是空的)。对于所有文件。 设置的字段(文件名,ID等)是正确的。 为什么缺少日期?

    [17] => Google_Service_Drive_DriveFile Object
        (
            [collection_key:protected] => spaces
            [appProperties] => 
            [capabilitiesType:protected] => Google_Service_Drive_DriveFileCapabilities
            [capabilitiesDataType:protected] => 
            [contentHintsType:protected] => Google_Service_Drive_DriveFileContentHints
            [contentHintsDataType:protected] => 
            [createdTime] => 
            [description] => 
            [explicitlyTrashed] => 
            [fileExtension] => 
            [folderColorRgb] => 
            [fullFileExtension] => 
            [hasAugmentedPermissions] => 
            [hasThumbnail] => 
            [headRevisionId] => 
            [iconLink] => 
            [id] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            [imageMediaMetadataType:protected] => Google_Service_Drive_DriveFileImageMediaMetadata
            [imageMediaMetadataDataType:protected] => 
            [isAppAuthorized] => 
            [kind] => drive#file
            [lastModifyingUserType:protected] => Google_Service_Drive_User
            [lastModifyingUserDataType:protected] => 
            [md5Checksum] => 
            [mimeType] => application/vnd.google-apps.spreadsheet
            [modifiedByMe] => 
            [modifiedByMeTime] => 
            [modifiedTime] => 
            [name] => Untitled
            [originalFilename] => 
            [ownedByMe] => 
            [ownersType:protected] => Google_Service_Drive_User
            [ownersDataType:protected] => array
            [parents] => 
            [permissionIds] => 
            [permissionsType:protected] => Google_Service_Drive_Permission
            [permissionsDataType:protected] => array
            [properties] => 
            [quotaBytesUsed] => 
            [shared] => 
            [sharedWithMeTime] => 
            [sharingUserType:protected] => Google_Service_Drive_User
            [sharingUserDataType:protected] => 
            [size] => 
            [spaces] => 
            [starred] => 
            [teamDriveId] => 
            [thumbnailLink] => 
            [thumbnailVersion] => 
            [trashed] => 
            [trashedTime] => 
            [trashingUserType:protected] => Google_Service_Drive_User
            [trashingUserDataType:protected] => 
            [version] => 
            [videoMediaMetadataType:protected] => Google_Service_Drive_DriveFileVideoMediaMetadata
            [videoMediaMetadataDataType:protected] => 
            [viewedByMe] => 
            [viewedByMeTime] => 
            [viewersCanCopyContent] => 
            [webContentLink] => 
            [webViewLink] => 
            [writersCanShare] => 
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

我的composer.json有以下一行:

    "google/apiclient": "^2.2",

1 个答案:

答案 0 :(得分:1)

试试这个:

<?php

$service = new \Google_Service_Drive($google->getClient());
$files = $service->files->listFiles();

foreach($files->getFiles() as $file){
    $createdTime = $file->getCreatedTime();
    $modifyByMeTime = $file->getModifiedByMeTime();
    $modifiedTime = $file->getModifiedTime();
    $sharedWithMeTime = $file->getSharedWithMeTime();
    $trashedTime = $file->getTrashedTime();
    $viewedByMeTime = $file->getViewedByMeTime();
}

?>

所有方法都可在此处找到:Class Google_Service_Drive_DriveFile

<强> [编辑]

尝试添加:

...
    $optParams = array(
      'pageSize' => 10,
      'fields' => 'nextPageToken, files(id, name, createdTime)'
    ); 

    $files = $service->files->listFiles($optParams);
...