ListFilesInFolderActivity给出空结果

时间:2014-05-05 06:16:57

标签: android google-drive-api

我正在使用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);

1 个答案:

答案 0 :(得分:1)

Android API使用Drive.File范围,这意味着您的应用只能看到用户明确授权您的应用访问的文件。 (用户更喜欢这个范围,因为他们可以更好地控制谁可以查看哪些数据。)

如果您在网络上打开具有相同应用的商品,则应该可以访问Android应用,但在列表响应中显示可能会有一些小的延迟。