我不明白如何在查询中设置ImageMediaMetadata.Width。 Google云端硬盘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();
答案 0 :(得分:0)
问题是,当您尝试在file.downloadUrl
中检索 downloadUrl 属性时,该属性在Drive API版本3中不再存在(该版本在2),检查v2 [1]和v3 [2]。
相反,您应该使用 webContentLink 属性下载文件,该文件可用于具有二进制内容(如图像,pdf等)的文件,但不适用于google docs和工作表(仅适用于 webViewLink 属性,即文件的网址)[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