Google Drive API v3 for iOS : 如何获取缩略图?

Google Drive API v3 for iOS : How to get thumbnails?

过去,使用 Google Drive API v2,我可以使用 GTLDriveFile 上的 属性 thumbnailLink 轻松获取图片或视频的缩略图.

但是现在,对于我目前与 Swift 一起使用的 API v3,我从 Google 驱动器获得的文件的 thumbnailLink 为零,那又怎样我可以做些什么来获取存储在用户 Google 驱动器中的图像和视频的缩略图。我需要在我的 iOS 应用程序中显示论文。

确保在字段中指定 thumbnailLink,例如

let query = GTLQueryDrive.queryForFilesList()
query.fields = "files(id, name, thumbnailLink)"

然后您可以访问 属性 thumbnailLink 图片和视频

您必须使用 Drive REST API 方法 Files: get. The result of that method contains thumbnailLink but according to the documentation 它是文件缩略图的短暂 link。通常持续数小时。

或者,您可以在应用程序中缓存缩略图,减少驱动器 api 请求的数量,从而提高页面性能。您需要获取上传文件的信息。最简单的缓存方法是简单地下载缩略图并像 fileid_thumb 一样将其保存在某处,在下一次请求时,您在实际请求缩略图之前检查是否存在这样的文件。查看here详细解释。

您还可以通过在插入或更新调用期间设置 contentHints.thumbnail property on the File resource 来上传缩略图,如下所示:

  • contentHints.thumbnail.image 设置为 URL 安全的 Base64 编码图像(参见 RFC 4648 section 5
  • contentHints.thumbnail.mimeType设置为适合图像格式的类型

您也可以在此 SO question.

中查看已接受的答案

希望对您有所帮助!