Google Drive API获取缩略图

时间:2017-07-10 13:38:22

标签: javascript node.js google-drive-api google-api-nodejs-client

我想获得谷歌硬盘为存储的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' 
}

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您可以通过以下 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

答案 2 :(得分:0)

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

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