我刚开始使用 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 组的用户也可以提出一些建议。