我有以下代码,它列出了根目录中的文件,但没有列出根目录中的任何子文件夹:
NSString *parentId = @"root";
GTLQueryDrive *queryDrive = [GTLQueryDrive queryForFilesList];
queryDrive.q = [NSString stringWithFormat:@"'%@' in parents and trashed=false", parentId];
[self.driveService executeQuery:queryDrive completionHandler:^(GTLServiceTicket *ticket,GTLDriveFileList *files,NSError *error)
{
if (error == nil)
{
NSLog(@"Number of files: %i", [files.items count]);
NSLog(@"Have results");
// Iterate over files.items array
for(GTLDriveFile *file in files)
{
NSLog(@"File Title: %@ | ID: %@",file.title, file.identifier);
}
}
else
{
NSLog(@"An error occurred: %@", error);
}
}];
这列出了我在文件夹中的7个文件,但与7个文件处于同一级别,我有一个子文件夹。
例如:
根 - > file1的 根 - > file2的 ...等等 都回来了
但是root-> MyFolder没有在结果集中列出。
有什么想法吗?
答案 0 :(得分:0)
您可能想查看自己的应用验证方式。如果您仅使用应用程序的文件作为范围进行身份验证,则不会在应用程序外部看到其他文件和文件夹。
当您进行身份验证时:
self.gDriveAuthenticationViewController = GTMOAuth2ViewControllerTouch(scope:kGTLAuthScopeDrive,
clientID:clientId,
clientSecret:clientSecret,
keychainItemName:keychainName,
delegate:self,
finishedSelector:"viewController:finishedWithAuth:error:")
使用范围:kGTLAuthScopeDrive而不是kGTLAuthScopeDriveFile