Google 驱动器 REST API : file.getCreatedTime() returns 始终为空

Google Drive REST API : file.getCreatedTime() returns always null

我正在与 Android Quickstart for Google Drive Rest APi provided at the below link. Android Quickstart

合作

示例代码按原样运行良好。但是,当我尝试从 getCreatedTime()GetWevViewLink() 等文件中获取其他详细信息时,会返回 'null'。只有 getName() 和 getId() returns 个值。

我认为您需要使用元数据 class 才能使用 getCreatedDate as indicated in Working with File and Folder Metadata

然后尝试类似的操作:

 ResultCallback<MetadataResult> metadataRetrievedCallback = new
            ResultCallback<MetadataResult>() {
        @Override
        public void onResult(MetadataResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Problem while trying to fetch metadata");
                return;
            }
            //show the date when file was created
            Metadata metadata = result.getMetadata();
            showMessage("File was created on " + metadata.getCreatedDate() );

        }
    }

Google Drive REST APIs v3 只会 return 某些默认字段。如果你需要一些字段,你必须通过 .setFields() 方法设置它来明确请求它。

像这样修改你的代码 -

private List<String> getDataFromApi() throws IOException {
    // Get a list of up to 10 files.
    List<String> fileInfo = new ArrayList<String>();
    FileList result = mService.files().list()
         .setPageSize(10)

         // see createdTime added to list of requested fields
         .setFields("nextPageToken, files(createdTime,id,name)")                

         .execute();
    List<File> files = result.getFiles();
    if (files != null) {
        for (File file : files) {
            fileInfo.add(String.format("%s (%s)\n",
                    file.getName(), file.getId()));
        }
    }
    return fileInfo;
}

您可以在此处阅读有关此行为的更多信息 https://developers.google.com/drive/v3/web/migration 已更新 link https://developers.google.com/drive/api/v2/migration

引用上面link -

Notable changes

  • Full resources are no longer returned by default. Use the fields query parameter to request specific fields to be returned. If left unspecified only a subset of commonly used fields are returned.

如果答案对您有用,请采纳,这样面临此问题的其他人也可能受益。