您好,我在尝试使用Google Drive API v3和javascript检索指定的元数据字段时遇到了麻烦。
我使用通用API请求:
gapi.client.request({ ‘path’:’https:// …
您已将参数对象构造为 gapi.client.request 不正确。尝试...
gapi.client.request
gapi.client.request({ 'path': 'https://www.googleapis.com/drive/v3/files/'+fileId, 'params' : {'fields': "*"}, 'method': 'GET' })
或者只是添加 &fields=* 到你的网址。看到 https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiclientrequest
&fields=*
如果你正在使用 Files#list 端点,然后是正确的 "fields" 检索fileId,名称,大小和父ID的规范确实如此 "fields": "files(id,name,size,parents)" ,因为回应 Files#list 是:
Files#list
"fields"
"fields": "files(id,name,size,parents)"
{ ? “kind”:“drive#fileList”, ? “nextPageToken”:字符串, ? “incompleteSearch”:布尔值, ? “档案”:[ files Resource ? ] }
files Resource
例如有一条路可走 response -> files -> your-metadata-fields
response -> files -> your-metadata-fields
但是,对于 Files#get ,响应是直接的元数据 - 不包含在任何分页标记中:
Files#get
{ ? “kind”:“驱动#file”, ? “id”:字符串, ? “name”:字符串, ? “mimeType”:字符串, ? “description”:字符串, ? “已加星标”:布尔, ? “trashed”:布尔, ? ... }
因此,字段路径前缀 files 导致无效的字段规范,因为路径是 response -> your-metadata-fields
files
response -> your-metadata-fields
没有这个“文件”前缀,并与你的 纠正请求建设 您的通用请求如下所示:
... gapi.client.request({ 'path': 'https://www.googleapis.com/drive/v3/files/' + fileId, 'params': { 'fields': "id,name,size,parents" }, 'method': 'GET' }); ...
编辑:如@pinoyyid所示,请求未正确设置“fields”查询参数。