2013-06-20 100 views
5

其实我整合了google-drive-sdk与我的ios程序。我可以通过google-drive-sdk for iOS上传谷歌驱动器上的指定文件。此外,我想提供一项功能,可以从用户想要在Google云端硬盘上上传文件的可用文件夹中选择文件夹。通过IOS Google Drive SDK的所有Google云端硬盘文件夹列表

因此,我发现如何列出Google云端硬盘的所有文件,但无法找到如何列出Google云端硬盘的所有文件夹。

我也在Google开发者网站上浏览了整个API reference,但没有找到任何有关它的解决方案。

我发现在某处使用下面的代码文件夹列表可以做到这一点,但它没有奏效。

GTLQueryDrive *query = [GTLQueryDrive queryForFilesList]; 
query.q = @"mimeType='application/vnd.google-apps.folder' and trashed=false"; 

[self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, 
                  GTLDriveFileList *files, 
                  NSError *error) { 

    if (error == nil) { 
     NSLog(@"Array of folder: %@", files.items); 
    } else { 
     NSLog(@"An error occurred: %@", error); 
    } 
}]; 

那么有没有为获得使用谷歌驱动-SDK从谷歌云端硬盘文件夹列表中的任何解决方案?

+0

嘿@cultor弄来这个解决方案。如果你得到请在这里给出答案。我也面临同样的问题。我需要列出这些文件夹。 – sunil

回答

1

假设此代码有效,查询中存在问题。多个查询应结合

query.q = @"mimeType='application/vnd.google-apps.folder' and trashed=false"; 

对于示例查询更多示例,采取正式文件一看Search for Files

此外,如果此代码不起作用,您希望使用Files.list()以上的查询。检查链接,并且您可能想要使用Object-c的示例代码。

+0

您好,感谢您的快速回复。我尝试添加“和”(@“mimeType ='application/vnd.google-apps.folder'和trashed = false”)。但仍然没有奏效。关于这个链接https://developers.google.com/drive/v2/reference/files/list我已经通过它,但它只是列出所有文件而不是文件夹。 –

+0

你是否设法让这个工作? –

1

您使用的示波器是什么?请确保您使用的是

kGTLAuthScopeDrive = @“https://www.googleapis.com/auth/drive”;

例如:

NSString *scope = kGTLAuthScopeDrive; 

GTMOAuth2ViewControllerTouch *authViewController = 
[[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope 
              clientID:kClientId 
             clientSecret:kClientSecret 
            keychainItemName:kKeychainItemName 
              delegate:self 
            finishedSelector:finishedSelector]; 

[self presentViewController:authViewController animated:YES completion:nil]; 
+1

我同意。您可能正在使用默认范围kGTLAuthScopeDriveFile,它将只显示您的应用程序创建的文件。 https://developers.google.com/drive/web/scopes – Ted

0

使用适当的范围。

drive.file范围有限,只允许它访问它创建的文件或用户使用它打开的文件。

整个驱动器范围允许应用程序管理所有用户的Drive文件。

强烈建议尽可能要求有限的范围。有关所有可用范围的详细信息,请查看谷歌驱动器SDK文档:

https://developers.google.com/drive/scopes

相关问题