如何在Google文件夹中查询根文件夹(Google Drive SDK for iPhone)中已知名称的文件夹的ID?

Val*_*Van 11 objective-c ios google-drive-api

随着查询

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"];

我得到根文件夹中的所有内容:文件和文件夹.当然,我可以找GTLDriveChildList回来的文件夹.但根文件夹可以有数千个项目,我只需要其中一个.我试过窄搜索.评论GTLQueryDrive.h说这是可能的.我试过了

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'";

仅查询文件夹或

queryFilesList.q = [NSString stringWithFormat:@"title='%@'", folderName];

按名称查询所有项目.两个查询都返回空列表.双重检查:我寻找的文件夹确实存在.

我试过了

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForFilesList];
Run Code Online (Sandbox Code Playgroud)

它适用于

queryFilesList.q =  @"mimeType='audio/x-aiff'";
Run Code Online (Sandbox Code Playgroud)

但如果我尝试仅查询文件夹,则返回空列表

queryFilesList.q =  @"mimeType='application/vnd.google-apps.folder'";
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Val*_*Van 7

我是自私的白痴!

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"];
queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'";
Run Code Online (Sandbox Code Playgroud)

工作得很好,但它只看到用这个应用程序创建的文件夹!那是我的问题.确切地说,您可以使用此查询:

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder' and 'root' in parents and trashed=false";
Run Code Online (Sandbox Code Playgroud)

trashed=false 如果您不希望找到已删除的项目,这一点非常重要.

  • 啊,应用程序需要使用kGTLAuthScopeDrive而不是kGTLAuthScopeDriveFile. (2认同)