我知道这个问题是(Listing All Folder content from Google Drive),但我没有找到答案。我也有同样的问题。如果我将文件上传到谷歌驱动器,我无法在列表中找到它。只有我在DrEdit中创建的文件。我尝试将范围更改为kGTLAuthScopeDrive,将mimeTipe更改为“。”和所有“application / vnd.google-apps。”。我下载了DrEdit,在谷歌驱动器控制台上创建了我的应用程序,得到了客户端ID和客户端密码,在DrEdit中替换了一些,一切正常。我可以创建文件并在我的驱动器根文件夹中检查它。我手动将一些文件上传到根文件夹,然后在init authViewController中将范围更改为kGTLAuthScopeDrive,将mimeType ='text / plain'更改为mimeType =' / *'或其他类型。我错过了什么?请帮我。
答案 0 :(得分:11)
如果您要列出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'
);