在CrEdit中列出Google云端硬盘中的所有文件和文件夹

时间:2013-12-05 04:54:01

标签: ios objective-c google-drive-api

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

1 个答案:

答案 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'
                                       );