【问题标题】:Get image thumbnail from google drive in Android从 Android 中的谷歌驱动器获取图像缩略图
【发布时间】:2016-10-28 23:42:57
【问题描述】:

是否可以从谷歌驱动器图像文件中获取图像缩略图?当我打开本地 google drive 应用程序时,它会显示图像的缩略图,但是当我打开 API 的文件选择器时,它会显示所有图像的默认图标。

【问题讨论】:

    标签: android google-drive-api


    【解决方案1】:

    Google Drive Android API 目前不提供缩略图,它们很可能会在新版本中提供。

    【讨论】:

      【解决方案2】:

      其实很简单。

      在您返回的文件 (com.google.api.services.drive.model.File) 上,只需致电 getThumbnailLink()。那将是图像的缩略图。但是,如果它不是图像,如果我没记错的话,它将只是空白(不是 null,而是空白)。

      【讨论】:

      • 感谢@kentarosu,但这是针对旧 API 的。我需要从新 API 中获取缩略图。
      • ...我不确定你的意思,这是目前 RESTful Api 使用的。您的意思是您使用的是适用于 Android 的 Google Drive SDK?
      • 是的,我正在使用 Google Drive SDK。
      【解决方案3】:

      更新:我在讨论请求字段时出错。

      据我所知,实际上没有关于此解决方案的好的文档。确实,您无法使用 Drive Android API 获取缩略图,但是您可以使用 Drive 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'"
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2017-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-28
        • 2016-06-15
        • 1970-01-01
        • 2018-01-23
        相关资源
        最近更新 更多