java - 谷歌驱动器API中用于搜索文件的查询

标签 java google-drive-api

我无法理解如何在查询中设置 ImageMediaMetadata.Width。 Google Drive Api 指南对我没有帮助。我无法使用他们的示例来使用内部属性。

appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }

有人了解如何使用变量的内部字段吗?

FileList result = service.files().list()
                .setPageSize(20)
                .setFields("nextPageToken, files(*)")
                .setQ("trashed = false and imageMediaMetadata has { width < 1920 }")
                .execute();

最佳答案

问题是当您尝试检索 file.downloadUrl 中的 downloadUrl 属性时,该字段在 Drive API 版本 3 中不再存在(它在版本 2) 中,检查 v2 [1] 和 v3 [2]。

相反,您应该使用 webContentLink 属性来下载文件,该属性适用于具有图像、pdf 等二进制内容的文件,但不适用于 Google 文档和表格(仅适用于webViewLink 属性,即文件的 url)[2]。对于这些情况(文档和工作表),您可以实现 import 方法,该方法适用于转换 google 文档并返回文件对象 [3]。

导入请求将如下所示:

var request = gapi.client.drive.files.import({ 'fileId': fileId, 'mimeType': mimeType });

使用 mimeType 作为您想要的目标文档(pdf、txt 等)。然后,在回调内部,与其他情况一样使用 file.webContentLink 访问该属性。

[1] https://developers.google.com/drive/api/v2/reference/files

[2] https://developers.google.com/drive/api/v3/reference/files

[3] https://developers.google.com/drive/api/v3/reference/files/export

关于java - 谷歌驱动器API中用于搜索文件的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56663674/

相关文章:

java - ModelAttribute 可以是原始的吗?

google-sheets - Big Query 和 Google Sheets 的集成

java - 使用 talend 归档所有日期(前一天和当天)的文件

java - 授权 header 的 Grails Base64 解码在解码时格式错误

java - 使用服务帐户进行身份验证时,使用 Google Drive API 创建文件到哪个帐户?

google-apps-script - 如何将链接转换为文件名?

video - Google 云端硬盘 - 视频流

php - 如何使用 php-curl 将文件上传到 "multipart"类型的 Google 云端硬盘?

java - 如何在paintComponent方法中向图像添加颜色层?

java - 在(任何)Java 程序(访问呈现的 DOM 树)中呈现 JavaScript 和 HTML?