过去,借助Google Drive API v2,我可以轻松获取thumbnailLink
上GTLDriveFile
媒体资源的图片或视频的缩略图。
但是现在,使用我目前与Swift一起使用的API v3,我从Google云端硬盘获取的thumbnailLink
文件为零,那么我该怎么做才能获得存储在用户中的图片和视频的缩略图& #39; Google云端硬盘。我需要在我的iOS应用程序中显示这些内容。
答案 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中查看已接受的答案。
希望这有帮助!