【发布时间】:2023-03-28 11:46:01
【问题描述】:
我试图请求位于 AppDataFolder 中的所有文件的列表。
当我提出以下要求时:
GET https://www.googleapis.com/drive/v2/files?spaces=appDataFolder&maxResults=1000 HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer <MyToken>
User-Agent: <MyUserAgent>
我收到以下错误:
HTTP/1.1 400 Bad Request
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid query",
"locationType": "parameter",
"location": "q"
}
],
"code": 400,
"message": "Invalid query"
}
}
如果我只想获取所有文件的列表,为什么它要求我进行查询? “q”参数是强制性的吗?我认为这是我的代码中的一些错误,所以我下载了最新的适用于 Python 的 Google Drive SDK 并得到了同样的错误。
我尝试添加像q=title != 'foo' 这样的“q”参数,但它也返回了无效查询错误。奇怪的是,如果我添加以下查询,我可以获得我的文件列表:q=title='<myfolder>' or title='<file1 in my folder>' or title='<file2 in my folder>'...,但如果我删除title='<myfolder>',我会再次收到查询错误。
我也尝试了另一个请求,但它返回了一个空列表,尽管我知道 AppDataFolder 中有文件:
GET https://www.googleapis.com/drive/v2/files?q='appfolder'+in+parents&access_token=<MyToken>
更新:看起来这个问题是特定于某个帐户的。我用另一个帐户测试了所有这些请求,并将所有文件隐藏在 appdatafolder 中。有效的请求:
https://www.googleapis.com/drive/v2/files?spaces=appDataFolder
https://www.googleapis.com/drive/v2/files?q='appDataFolder'+in+parents
https://www.googleapis.com/drive/v2/files?q='appfolder'+in+parents
第一个帐户可能有什么问题?
更新 2:我无法再从其他帐户检索 appdata 文件列表。 API 似乎发生了一些变化。
【问题讨论】:
标签: google-api google-drive-api