适用于iOS的Google Drive API v3:如何获取缩略图?

时间:2016-08-04 08:19:39

标签: ios swift google-drive-api thumbnails video-thumbnails

过去,借助Google Drive API v2,我可以轻松获取thumbnailLinkGTLDriveFile媒体资源的图片或视频的缩略图。

但是现在,使用我目前与Swift一起使用的API v3,我从Google云端硬盘获取的thumbnailLink文件为零,那么我该怎么做才能获得存储在用户中的图片和视频的缩略图& #39; Google云端硬盘。我需要在我的iOS应用程序中显示这些内容。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

您必须使用Drive REST API方法Files: get。该方法的结果包含thumbnailLink,但根据documentation,它是'文件缩略图的短暂链接。通常持续数小时。

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

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

  • contentHints.thumbnail.image设置为网址安全的Base64编码图像(请参阅RFC 4648 section 5
  • contentHints.thumbnail.mimeType设置为图像格式的相应类型

您还可以在此SO question中查看已接受的答案。

希望这有帮助!