我正在使用Google Play Services SDK集成Google云端硬盘。
我的应用程序需要显示文件夹中所有文件的列表。
来自演示:ListFilesInFolderActivity
我正确获取文件夹而没有任何授权错误等。因为我改变了
com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FOLDER_ID com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FILE_ID
根据我的应用程序文件夹和文件等的值。
但是在
final private ResultCallback<MetadataBufferResult> metadataResult = new
ResultCallback<MetadataBufferResult>() {
@Override
public void onResult(MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving files");
return;
}
mResultsAdapter.clear();
mResultsAdapter.append(result.getMetadataBuffer());
showMessage("Successfully listed files.");
}
};
我只看到Toast "Successfully listed files."
,但列表中没有任何内容。选中mResultsAdapter.getCount()
后,会返回 0 。
但该文件夹肯定有1个文件。我错过了什么?
编辑:
当我从我的应用程序创建文件夹/文件时,它们是可见的。但是从Web等添加的文件夹/文件在列表中不可见。
是这样的:
只有您的应用程序创建的文件夹/文件可以访问?
使用
folder.listChildren(getGoogleApiClient()).setResultCallbackmetadataResult);
答案 0 :(得分:1)
Android API使用Drive.File范围,这意味着您的应用只能看到用户明确授权您的应用访问的文件。 (用户更喜欢这个范围,因为他们可以更好地控制谁可以查看哪些数据。)
如果您在网络上打开具有相同应用的商品,则应该可以访问Android应用,但在列表响应中显示可能会有一些小的延迟。