谷歌驱动器 API 获取缩略图



我想获取谷歌云端硬盘为存储的pdf文件创建的缩略图。使用此功能,我列出了所有文件:

listFiles: function (folderId, onData, onError) {
drive.files.list({
auth: jwtClient,
q: "'" + folderId + "' in parents"
}, function (err, res) {
console.log(res.files)
}
});

每个文件的控制台日志输出如下所示:

{ 
kind: 'drive#file',
id: '0BapkdhpPsqtgf01YbEJRRlhuaVUf',
name: 'file-name.pdf',
mimeType: 'application/pdf' 
}

当我检查谷歌的文档时,它说文件的元数据应该包含所有这些属性:https://developers.google.com/drive/v3/reference/files 在那里我发现:contentHints.thumbnail.image如何访问它?

好的,问题是获取我需要使用files.get函数的文件的元数据,而不是files.list.另一件事是在调用中,需要设置字段参数。例如:

drive.files.get({
auth: jwtClient,
fileId: fileId,
fields : "thumbnailLink"
})

您可以使用 fields 参数更改返回的元数据字段:

drive.files.list({
auth: jwtClient,
q: "'" + folderId + "' in parents",
fields: "files(id, name, mimeType, thumbnailLink)"
}, function (err, res) {
console.log(res.files)
});

您可以通过以下 api 调用获取基本元数据。 适用于 python 的解决方法:

self.__results = drive_service.files().list(pageSize=10, supportsAllDrives = True, fields = "files(kind, id, name, mimeType, webViewLink, hasThumbnail, thumbnailLink, createdTime, modifiedTime, owners, permissions, iconLink, imageMediaMetadata)").execute()

self.__results = drive_service.files().list(pageSize=10, supportsAllDrives = True, fields = "*").execute()

以获取完整的元数据。

参考: https://developers.google.com/drive/api/v3/reference/files#resource

最新更新