Ios Google Drive queryForFilesList不返回任何结果

Ios Google Drive queryForFilesList不返回任何结果,ios,google-drive-api,google-oauth,Ios,Google Drive Api,Google Oauth,我目前在iOS Google Drive SDK上遇到问题。我正在用谷歌硬盘搜索一个文件。我想要的所有文件都有一个目录名/文件名格式的路径。由于SDK/API不允许使用完整路径搜索文件,因此我使用以下查询最终获取其下载URL。我正在使用以下格式的查询: ((title = 'directory-name') AND ('root' in parents) AND (mimeType = 'application/vnd.google-apps.folder')) OR ((title = 'fi

我目前在iOS Google Drive SDK上遇到问题。我正在用谷歌硬盘搜索一个文件。我想要的所有文件都有一个目录名/文件名格式的路径。由于SDK/API不允许使用完整路径搜索文件,因此我使用以下查询最终获取其下载URL。我正在使用以下格式的查询:

((title = 'directory-name') AND ('root' in parents) AND (mimeType = 'application/vnd.google-apps.folder')) OR
((title = 'file-name') AND (not 'root' in parents) AND (mimeType != 'application/vnd.google-apps.folder'))
第一行用于查找根目录中名称与我的名称匹配的所有目录,第二行应匹配具有相同名称的所有文件。这应该会返回我正在查找的目录、文件以及其他一些内容(例如,其他目录中同名的文件)。我有一些代码来确定哪个文件是正确的

我遇到的问题是,有时查询没有结果。这通常发生在我重命名文件,并将其重新命名,或类似的事情之后。奇怪的是,如果我单独运行查询的两行中的任何一行,它都会正确返回,但它们一起不会

任何帮助都将不胜感激,如果需要,我将乐意提供更多信息

是的,我正在使用kGTLAuthScopeDrive范围


理想的解决方案是,如果我可以使用完整的路径进行搜索,那么如果有一种方法可以做到这一点,那么我就不知道了。

不幸的是,我无法实现这一点。同样不幸的是,谷歌没有提供API来查询完整路径。所以我求助于在路径上迭代以获取目录ID,然后当我到达文件时,获取其ID并下载它。虽然稍微复杂一些,但我的解决方案是基于这个问题和选择的答案:

是否有某种原因让您使用
mimeType
而不是文件夹,而不是…
(mimeType=application/vnd.google apps.file)
?您是否将整个查询都用括号括起来?我不知道您可以使用那种mime类型。我只是觉得“不是文件夹”会包含所有的文件,我不会用括号括起来。这是我应该做的吗?罗伯·托尔斯是在说我学究气。只要将整个字符串包含在@“…”中,您就可以使用代码中显示的格式。这里是一个链接到不同的。同样,文件夹不应该也工作良好-我只是好奇你使用这种方法。这里是我试图在一个更有用的问题。。。根据我在完成处理程序中返回填充变量时的经验(例如,
executeQuery:completionHandler:^(GTLServiceTicket*ticket,GTLDriveFileList*fileList,NSError*error){
),我喜欢使用
文件列表.identifier
来维护对每个文件的持久引用,因为即使文件和/或文件夹的名称发生更改,该标识符也保持不变。您尝试过吗?这里是2015。这仍然不起作用。为什么,谷歌。为什么。等等,我收回它。它正在工作。谢谢谷歌!