您好,我在尝试使用Google Drive API v3和javascript检索指定的元数据字段时遇到麻烦。
我为此使用通用的API请求:
gapi.client.request({
'path': 'https://www.googleapis.com/drive/v3/files/'+fileId,
'fields': "files(id, name, size, parents)",
'method': 'GET'
})
但响应仅列出
"kind": "drive#file",
"id": "0B99ZF.........Z",
"name": "...",
"mimeType": "..."
如何列出请求中指定的元数据:
'fields': 'files(id, name, size, parents)'
谢谢您的回复。
答案 0 :(得分:2)
如果您使用的是Files#list
端点,则用于检索fileId,名称,大小和父ID的正确"fields"
规范确实为"fields": "files(id,name,size,parents)"
,因为对{的响应{1}}是:
{
“ kind”:“ drive#fileList”,
“ nextPageToken”:字符串,
“ incompleteSearch”:布尔值,
“文件”:[
files Resource
]
}
例如有一条走Files#list
但是,对于Files#get
,响应直接是元数据-不包装在任何分页标记中:
{
“ kind”:“ drive#file”,
“ id”:字符串,
“名称”:字符串,
“ mimeType”:字符串,
“ description”:字符串,
“已加星标”:布尔值,
“ trashed”:布尔值,
...
}
因此,字段路径前缀response -> files -> your-metadata-fields
导致字段说明无效,因为路径为files
没有此“文件”前缀,并且您的corrected request construction的通用请求如下:
response -> your-metadata-fields
编辑:如@pinoyyid所示,该请求未正确设置“字段”查询参数。
答案 1 :(得分:2)
您已错误地将参数对象构造为gapi.client.request
。试试...
gapi.client.request({
'path': 'https://www.googleapis.com/drive/v3/files/'+fileId,
'params' : {'fields': "*"},
'method': 'GET'
})
或仅将&fields=*
添加到您的URL。参见https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiclientrequest