iOS Google Drive API从指定文件夹加载所有GTLDriveFile

时间:2014-04-21 18:40:55

标签: ios google-drive-api google-drive-android-api

我刚开始使用Google Drive API。我走过了整个安装和设置指南,现在我可以在我的iOS应用程序上使用这个漂亮的服务。

我的目标是:加载指定目录的所有文件。

我找到了如何为根目录获取负载的示例,它工作正常,我真的很喜欢这段代码:

- (void)loadDriveFiles
{
    GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];

    query.q = [NSString stringWithFormat:@"'%@' IN parents ", @"root"];

    [self.driveService executeQuery:query
                  completionHandler:^(GTLServiceTicket *ticket,
                                      GTLDriveFileList *files,
                                      NSError *error)
    {
        if (error == nil)
        {
            _driveFiles = [[NSMutableArray alloc] init];
            [_driveFiles addObjectsFromArray:files.items];

            for (GTLDriveFile *file in _driveFiles)
            {
                NSLog(@"title: %@", file.title);
                NSLog(@"mimeType: %@", file.mimeType);
            }
        }
        else
        {
            NSLog(@"An error occurred: %@", error);
        }
    }];
}

为了加载所有文件,我使用GTMOAuth2ViewControllerTouch而不是kGTLAuthScopeDrive初始化kGTLAuthScopeDriveFile,因为它们用于快速启动tutorial

所以上面的代码就像我说的那样完美,但我的问题是如何替换" root"与文件夹ID。我想GTLDriveFile对象有这个信息,但我还是没找到它。我想出了mimeType,所以我可以使用这个键/值检查GTLDriveFile是否是一个文件夹:

mimeType:"application/vnd.google-apps.folder"

但我在哪里可以找到文件夹ID?所以我只是玩硬编码文件夹id从浏览器复制它,它也适用于我,但我想用包含文件夹ID信息的单元格创建表格,按下这个单元格我将根据文件夹ID打开文件夹所属。为此我需要知道如何找到文件夹ID,我想。我认为android组的用户也可以提出建议。

0 个答案:

没有答案