Listing All files and folders from Google Drive in DrEdit

google-drive-api, ios, objective-c

Solution

If, you want to list all files and folders from google drive, use this method.

-(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);
    }
}];
}

For Mime types refer this, and use it in query using or operator.

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 Types available-

$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'
                                       );

Problem

I know this question has been (Listing All Folder content from Google Drive), but i didn't found answer. I have the same problem. If i uploaded file to the google drive i can't find it in list. Only files which i created in DrEdit. I tried change scope to kGTLAuthScopeDrive and mimeTipe to '.' and all 'application/vnd.google-apps.'. I downloaded DrEdit, created my app on google drive console, got client id and client secret, replace ones in DrEdit, all is working. I can create file and check it in my drive root folder. I uploaded some file by hand in to root folder, then changed scope to kGTLAuthScopeDrive in init authViewController, changed mimeType = 'text/plain' to mimeType = '/*' or other type. What did I miss? Please, help me.

Original source