小编Max*_*xim的帖子

请求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>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

HTTP/1.1 400 Bad Request
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid query",
    "locationType": "parameter",
    "location": "q"
   }
  ],
  "code": 400,
  "message": "Invalid query"
 }
}
Run Code Online (Sandbox Code Playgroud)

如果我只想获取所有文件的列表,为什么要问我查询?"q"参数是强制性的吗?我认为这是我的代码中的一些错误,所以我下载了最新的Google Drive SDK for Python并得到了同样的错误.

我尝试添加"q"参数,q=title != 'foo'但它也返回了无效的查询错误.奇怪的是,如果我添加以下查询,我可以获取我的文件列表: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>
Run Code Online (Sandbox Code Playgroud)

更新:看起来此问题特定于某个帐户.我用另一个帐户测试了所有这些请求,并将所有文件隐藏在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
Run Code Online (Sandbox Code Playgroud)

第一个帐户有什么问题?

更新2:我无法再从其他帐户检索appdata文件列表.看起来像API发生了什么.

google-api google-drive-api

9
推荐指数
1
解决办法
2198
查看次数

Delphi:如何从TBytes读取X位?

我遇到了从TBytes读取随机位数的问题.首先,我遵循了这个问题的建议(关于使用ubitstream.pas单元的答案):在Delphi中处理任意位长数据? 我的例子:binaryfeed(TBytes)=(255,0,0,0,0,0,11,1,112,128,128,130,81);

  1. 我读了8位并得到了255 - 好的.位置是8.
  2. 我读了另外24位并得到0 - 确定.位置是32.
  3. 我读了另外24位并得到393216而不是6.位置是56.

393216是0000 0000 0000 0110 0000 0000 0000 0000

我可以理解它为什么会发生,但我无法弄清楚如何截断这些额外的零位.有任何想法吗?

delphi byte bit-manipulation bytearray

1
推荐指数
1
解决办法
772
查看次数