繁体   English   中英

适用于Android的云端硬盘API:如何列出Google云端硬盘文件夹中的每个条目(以及不是由我的应用创建的条目)

[英]Drive API for Android: how to list every entry in Google Drive folder (also those not created by my app)

我正在使用Google云端硬盘文件夹备份我的应用中的某些信息。 我不使用App Folder,因为我希望用户能够将文件上传到同一文件夹(例如,上传其他人获得的备份)。

我使用的代码如下:

Query query = new Query.Builder()
             .addFilter(Filters.eq(SearchableField.TITLE, backupName))
             .build();

DriveApi.MetadataBufferResult result =
        mDriveFolder
                .queryChildren(mGoogleApiClient, query)
                .await();

if (result == null || !result.getStatus().isSuccess()) {
    return null;
}

MetadataBuffer buffer = result.getMetadataBuffer();
if (buffer.getCount() == 0) {
    buffer.close();

    return null;
}
Metadata m = buffer.get(0); //get first

这样,只有备份文件是由我的应用通过备份功能上传的,我才能找到备份文件。 如果我从桌面上载文件到云端硬盘,或仅出于测试目的创建新文档,则找不到该文件。 (通过云端硬盘,我可以正确地查看所有文件,无论是否来自我的应用程序,而我是所有者)。

因此,我尝试列出并记录所有文件夹内容:

DriveApi.MetadataBufferResult result = mDriveFolder.listChildren(mGoogleApiClient).await();

if (result == null || !result.getStatus().isSuccess()) {
    return null;
}

MetadataBuffer buffer = result.getMetadataBuffer();

for(Metadata m: buffer){
    Log.d(TAG, m.getTitle()+" - "+m.getOriginalFilename());
}

并且仅记录我的应用上传的文件。

因此,如何从应用程序获取文件夹中的所有内容,而不论其来源如何? 我想念什么吗?

Google云端硬盘SDK无法实现。 您应该为此使用http-requests。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM