【问题标题】:Listing files and folders of GDrive using Google Drive Api使用 Google Drive Api 列出 GDrive 的文件和文件夹
【发布时间】:2015-07-01 05:54:06
【问题描述】:

我想使用 Google Drive API 列出 Google Drive 上某个目录的所有文件和文件夹。但我只获取文件的元数据对象,而不是目录中存在的文件夹。我正在使用以下代码

DriveFolder folder = Drive.DriveApi.getRootFolder(getClient());
folder.listChildren(getClient())
 .setResultCallback(new ResultCallback < DriveApi.MetadataBufferResult > () {@
     Override
     public void onResult(DriveApi.MetadataBufferResult result) {
         if (!result.getStatus().isSuccess()) {
             L.c("Error in listing root folder");
             return;
         }
         MetadataBuffer metadataBuffer = result.getMetadataBuffer();
         Metadata filedata;
         ListItem[] items = new ListItem[metadataBuffer.getCount()];
         L.c("Count :" + metadataBuffer.getCount());
         for (int i = 0; i < metadataBuffer.getCount(); i++) {
             items[i] = new ListItem(metadataBuffer.get(i));
         }
         listAdapter = new ArrayAdapter < ListItem > (ExplorerClass.this, android.R.layout.simple_list_item_1, items);
         mainList.setAdapter(listAdapter);
     }
 });

【问题讨论】:

  • 文件夹是如何创建的?
  • @pinoyyid 请检查我的编辑
  • 文件夹是如何创建的?
  • 我使用 Google Drive 网站 (google.co.in/drive) 创建了文件夹
  • 那么 Luis 的以下回答适用于您

标签: android google-api google-drive-api google-drive-android-api


【解决方案1】:

如果目录中存在的文件夹或文件(在您的情况下为根目录)不是由您的应用创建或之前由您的应用打开的,您将无法在您的应用中看到它们。这是因为您可能正在使用 Drive.FILE 范围:https://developers.google.com/drive/web/scopes

不幸的是,google drive android API 目前仅支持 drive.file 和 drive.appfolder 范围。如果您需要 drive.readonly.metadata 范围,可以使用 Google Drive REST API。

【讨论】:

  • 添加到这个(可能是正确的)答案......假设我安装了你的应用程序。我真的要让它读取和删除我的所有云端硬盘文件吗?可能不是。因此 Drive 实现了一系列范围,最常见的是 drive.file,它只允许应用程序查看该应用程序最初创建的文件。在应用之外创建的文件,包括在 drive.google.com 中创建的文件夹都被隐藏。
  • 您还可以使用文件选择器,它允许您列出文件和文件夹,包括您的应用程序尚未访问的文件和文件夹。 github.com/googledrive/android-demos/blob/master/src/com/google/…
  • 更正亚瑟的上述回答。 GDAA 的文件选择器 (intents here) 不允许您(应用程序),但允许您应用程序的当前授权用户列出/查看其管辖范围内的所有文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多