知识的价值不在于占有,而在于使用。这篇文章主要讲述请求AppDataFolder时,Google云端硬盘API会返回错误“无效值”和“无效查询”相关的知识,希望能为你提供帮助。
【请求AppDataFolder时,Google云端硬盘API会返回错误“无效值”和“无效查询”】我试图请求位于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”参数是强制性的吗?我认为这是我的代码中的一些错误,所以我下载了最新的Google Drive SDK for python并得到了同样的错误。
我试图像
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发生了什么。
推荐阅读
- ionic-app-script在构建时失败 - 无法找到模块'@ angular / compiler-cli / ngtools2'
- 使用Google Apps脚本查找所有文件夹(和子文件夹)中的文档/幻灯片/表格
- Google Apps脚本中的Google Drive通知
- 如何使用Flutter访问Google Drive appdata文件夹文件()
- Google Apps脚本未遍历所有文件
- 谷歌驱动API的Android如何登录并从硬编码我的硬盘帐户注销无需用户交互()
- 谷歌硬盘中App Data文件夹的未来是什么()
- 如何在Android上使用本地化时间单位格式化字符串的持续时间()
- 为什么会出现此错误“com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAuthIOException”