代码之家  ›  专栏  ›  技术社区  ›  Crouching Kitten Jon Skeet

如何使用Google Drive获取文件修改日期

  •  2
  • Crouching Kitten Jon Skeet  · 技术社区  · 7 年前

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

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

    然后返回以下数据(这是打印转储)。 所有本应保存日期的字段均为空(实际上为空)。对于所有文件。 设置的字段(文件名、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
                    (
                    )
    
            )
    

    我的作曲家。json有以下行:

        "google/apiclient": "^2.2",
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Alberto Favaro    7 年前

    试试这个:

    <?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);
    ...