Google 驱动器 Android API 中缩略图的处理 (GDAA)

Handling of Thumbnails in Google Drive Android API (GDAA)

REST API to GDAA 移植应用程序时,我 运行 遇到了以下问题。
该应用程序需要根据用户 selection 下载一些(数千张)JPEG 图片。在应用程序中解决这个问题的方法是先下载缩略图版本,使用 REST API:

的这种构造
  private static InputStream getCont(String rsid, boolean bBig){
    InputStream is = null;
    if (rsid != null) try {
      File gFl = bBig ?
      mGOOSvc.files().get(rsid).setFields("downloadUrl"  ).execute():
      mGOOSvc.files().get(rsid).setFields("thumbnailLink").execute();
      if (gFl != null){
        GenericUrl url = new GenericUrl(bBig ?  gFl.getDownloadUrl() : gFl.getThumbnailLink());
        is = mGOOSvc.getRequestFactory().buildGetRequest(url).execute().getContent();
      }
    } catch (UserRecoverableAuthIOException uraEx) {
      authorize(uraEx.getIntent());
    } catch (GoogleAuthIOException gauEx) {}
    catch (Exception e) { }
    return is;
  }

它允许根据 bBig 标志获取图像的 'thumbnail' 或 'full-blown' 版本。用户可以 select 列表中的缩略图,然后是完整的图像下载(当然,所有这些都由基于磁盘的 LRU 缓存支持)。
问题是,GDAA 没有选项来要求 缩小尺寸/缩略图 版本的对象 (AFAIK),所以我不得不求助于结合两个 APIs ,这使得代码更加复杂then I like (bottom of the page)。需要指出的是,REST 所需的 'Resource ID' 可能不会立即可用。
所以,问题是:有没有办法向 GDAA 询问文档的 'thumbnail' 版本?

Drive Android API 目前无法下载缩略图,遗憾的是我无法给出何时可用的时间表。在那之前,Drive Java 客户端库是在 Android.

上获取缩略图的最佳方式

如果您继续针对我们的问题跟踪器提交功能请求,我们将不胜感激:https://code.google.com/a/google.com/p/apps-api-issues/

这让我们的团队在内部更清楚地了解请求,并且当我们发布更新时,问题将被标记为已解决。

更新:我在请求字段的讨论中出错了

正如 Ofir 所说,您无法使用云端硬盘 Android API 获取缩略图,而您 可以 使用云端硬盘 Java 获取缩略图] 客户端库。此页面是一本非常好的入门入门读物:

https://developers.google.com/drive/v3/web/quickstart/android

奇怪的是,我无法让请求的字段部分正常工作,因为它是在快速启动时。正如我所经历的,您必须以不同的方式请求字段。

由于您正在执行自定义字段请求,因此您必须确保添加您想要的其他字段。这是我如何让它工作的:

Drive.Files.List request = mService.files()
                    .list()
                    .setFields("files/thumbnailLink, files/name, files/mimeType, files/id")
                    .setQ("Your file param and/or mime query");

FileList files = request.execute();
files.getFiles();  //Each File in the collection will have a valid thumbnailLink

示例查询可能是:

"mimeType = 'image/jpeg' or mimeType = 'video/mp4'"

希望对您有所帮助!