Google drive api 使用';不是';参数返回空页
我正在使用驱动器API列出集合中的文件,这些文件的标题中不包含特定字符串 我的查询如下所示:Google drive api 使用';不是';参数返回空页,google-drive-api,Google Drive Api,我正在使用驱动器API列出集合中的文件,这些文件的标题中不包含特定字符串 我的查询如下所示: files().list(q=“'xxxxx'在父项中,而不是标题中包含'toto'”) 在我的驱动器集合中,我有100个文件,它们的标题中都包含字符串“toto”,比如说10个文件 我使用分页来检索20乘20的结果,所以我只希望得到一个页面,其中包含10个与我的请求相对应的文件。令人惊讶的是,API返回了5个页面,前4个页面没有结果,但有一个nextToken页面,而符合我请求的文件只有第五个页面 我
files().list(q=“'xxxxx'在父项中,而不是标题中包含'toto'”)
在我的驱动器集合中,我有100个文件,它们的标题中都包含字符串“toto”,比如说10个文件
我使用分页来检索20乘20的结果,所以我只希望得到一个页面,其中包含10个与我的请求相对应的文件。令人惊讶的是,API返回了5个页面,前4个页面没有结果,但有一个nextToken页面,而符合我请求的文件只有第五个页面
我还在这里尝试一些用例,但它似乎与“not”操作符有关。例如,如果请求是在没有它的情况下发出的,因此返回5页,但结果与从响应中删除的请求不对应。这对我来说是非常令人不安的,因为我在这里寻找最好的表现,显然,不得不提出5个驾驶要求而不是一个对我来说是不好的。我还注意到,结果并不总是出现在最后一页。我用另一个集合进行了测试,结果显示在第二页,但之后我仍然得到了3个空白页
我是不是遗漏了什么?这种行为“正常”吗?我的意思是想象一下,如果我的收藏中有1000个文档,必须发出50个请求才能找到其中的几个,这不是我所期望的。
contains
操作员目前正在充当前缀匹配器。title包含“toto”
将匹配“tototolog”和“toto”,但不会匹配“blahtto”。我在files.list API中也有类似的问题。我试图接收根文件夹下的所有三个文件夹。我只在第342页收到结果。经过几个小时的研究,我发现这种奇怪的行为有些规律
据我所知,驱动器API的工作方式如下:
maxResults=1
构建令牌索引
这很疯狂,但我对可观察到的行为没有其他解释
它对服务器非常有用,因为服务器只做很小的搜索工作。从另一方面来说,该算法必须为整个列表生成大量请求。但是每秒请求数的限制解决了这个问题
只有页面管理和跳过空结果。不要忘记请求数量的限制。
不要试图找出你这边的错误。这就是Google Drive API的工作原理。是的,你是对的,在某种程度上,如果驱动器API的性能可以接受,这种行为可能不会成为问题。不幸的是,情况并非如此。这太不一致了。。有时检索10条记录需要100毫秒,有时需要5秒钟,通常你会突然发现500个错误,因此基于这一点,我可以提出的请求越少越好。