我知道这个问题已经存在(列出来自Google云端硬盘的所有文件夹内容),但我没有找到答案.我也有同样的问题.如果我将文件上传到谷歌驱动器,我无法在列表中找到它.只有我在DrEdit中创建的文件.我尝试将范围更改为kGTLAuthScopeDrive并将mimeTipe更改为' .'和所有'application/vnd.google-apps.".我下载了DrEdit,在谷歌驱动器控制台上创建了我的应用程序,得到了客户端ID和客户端密码,在DrEdit中替换了一些,一切正常.我可以创建文件并在我的驱动器根文件夹中检查它.我手动将一些文件上传到根文件夹,然后在init authViewController中将范围更改为kGTLAuthScopeDrive,将mimeType ='text/plain'更改为mimeType ='/*'或其他类型.我错过了什么?请帮我.
如果您要列出Google云端硬盘中的所有文件和文件夹,请使用此方法.
-(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(@"File is %@", file.title); } else { NSLog(@"An error occurred: %@", error); } }]; }
对于Mime类型,请参考此内容,并在查询中使用或运算符.
example- GTLQueryDrive *query = [GTLQueryDrive queryForFilesList]; query.q = @" mimeType ='audio/mpeg' or mimeType ='audio/wav' or mimeType ='audio/aac' or mimeType ='audio/aiff' or mimeType = 'video/mp4' or mimeType = 'image/png' or mimeType = 'application/zip' ";
Mime类型可用 -
$mime_types= array( "xls" =>'application/vnd.ms-excel', "xlsx" =>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', "xml" =>'text/xml', "ods"=>'application/vnd.oasis.opendocument.spreadsheet', "csv"=>'text/plain', "tmpl"=>'text/plain', "pdf"=> 'application/pdf', "php"=>'application/x-httpd-php', "jpg"=>'image/jpeg', "png"=>'image/png', "gif"=>'image/gif', "bmp"=>'image/bmp', "txt"=>'text/plain', "doc"=>'application/msword', "js"=>'text/js', "swf"=>'application/x-shockwave-flash', "mp3"=>'audio/mpeg', "zip"=>'application/zip', "rar"=>'application/rar', "tar"=>'application/tar', "arj"=>'application/arj', "cab"=>'application/cab', "html"=>'text/html', "htm"=>'text/html', "default"=>'application/octet-stream', "folder"=>'application/vnd.google-apps.folder' );