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

时间:2013-04-01 19:39:07

标签: ios objective-c 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];

适用于

queryFilesList.q =  @"mimeType='audio/x-aiff'";

但如果我尝试仅使用

查询文件夹,则返回空列表
queryFilesList.q =  @"mimeType='application/vnd.google-apps.folder'";

我做错了什么?

1 个答案:

答案 0 :(得分:7)

我是自私的白痴!

GTLQueryDrive *queryFilesList = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"];
queryFilesList.q = @"mimeType='application/vnd.google-apps.folder'";

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

queryFilesList.q = @"mimeType='application/vnd.google-apps.folder' and 'root' in parents and trashed=false";
如果您不想找到已删除的项目,

trashed=false很重要。