Android 从google drive中的特定文件夹获取文件列表

Android 从google drive中的特定文件夹获取文件列表,android,google-drive-api,google-drive-android-api,Android,Google Drive Api,Google Drive Android Api,我正在使用Google Play Services SDK 并尝试从开发人员网站 有没有办法从特定文件夹下载所有文件 任何指针都会大有帮助。整个示例代码似乎并不完整。这里是一个“等待”版本的方法,它必须在非ui线程上运行类似的操作 // list / search all non-trashed files in a folder (globally if 'fldr' is null) GoogleApiClient _gac; public void findAll(String tit

我正在使用Google Play Services SDK

并尝试从开发人员网站

有没有办法从特定文件夹下载所有文件


任何指针都会大有帮助。整个示例代码似乎并不完整。

这里是一个“等待”版本的方法,它必须在非ui线程上运行类似的操作

//  list / search all non-trashed files in a folder (globally if 'fldr' is null) 
GoogleApiClient _gac;
public void findAll(String title, String mime, DriveFolder fldr) {
  ArrayList<Filter> fltrs = new ArrayList<Filter>();
  fltrs.add(Filters.eq(SearchableField.TRASHED, false));
  if (title != null)  
    fltrs.add(Filters.eq(SearchableField.TITLE, title));
  if (mime != null)  
    fltrs.add(Filters.eq(SearchableField.MIME_TYPE, mime));
  Query qry = new Query.Builder().addFilter(Filters.and(fltrs)).build(); 
  MetadataBufferResult rslt = (fldr == null) ? Drive.DriveApi.query(_gac, qry).await() : 
                                               fldr.queryChildren(_gac, qry).await();
  if (rslt.getStatus().isSuccess()) {
    MetadataBuffer mdb = null;
    try { 
      mdb = rslt.getMetadataBuffer();
      if (mdb == null) return null;
      for (Metadata md : mdb) {
        if ((md == null) || (!md.isDataValid()) || md.isTrashed()) continue;
        // md gives you the file info    
      }
    } finally { if (mdb != null) mdb.close(); } 
  }
}

希望有帮助,上有一堆相同主题的代码,但我已经有一段时间没有接触过了,即没有保修。

我发现错误过滤器无法解析为类型。是过滤器吗?我离线了,无法检查。该代码是多年前为ver.14库编写的,并且是功能性的。但众所周知,谷歌人会欺骗你和我们。对不起,欧盟的某个地方太远了,现在帮不上忙。我记得,在我的脑海中,可能有一个“.list”方法不处理过滤器。Grep Github代码,可能有一些东西。在另一个Github区域也有一个GAC类,它做了很多事情,你可以从中挖掘一些东西,我在那里扔了一些东西,只是为了展示我能写多么糟糕的代码:-享受。好的,解决了它。我有一个问题,你上面的代码只获取由我的应用程序创建的文件。使用web或其他应用程序添加的任何其他文件都不可见。这是预期的吗?如何获取其他应用程序创建的所有文件以及文件夹。GDAA Google Drive Android Api中唯一的作用域是文件。GDAA中有一个文件采集器可能会绕过这一点,但我对此了解不多。查看Cheryl Simon的答案,了解更多信息。