0

我刚开始使用 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);
        }
    }];
}

为了加载我有 initGTMOAuth2ViewControllerTouch的所有文件,kGTLAuthScopeDrive而不是kGTLAuthScopeDriveFile它们用于快速入门教程的文件。

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

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

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

4

0 回答 0