Facebook PHP SDK V5 integration with Codeigniter 3

In this post we will show you Facebook PHP SDK V5 integration with Codeigniter 3, hear for Facebook PHP SDK V5 integration with Codeigniter 3 we will give you demo and example for implement.


Today I will show you the easiest way to integrate Facebook SDK version 5 in your CodeIgniter project. You need to create an app in facebook before using facebook SDK. You can create an app for free easily by visiting following link. The steps are just straight forward and very easy so I am skipping it. Once you create an app you will be provided with an app id and app secret.
Now let's start integrating it into our CodeIgniter project. The easiest way is through composer and if you don't know how to add composer in your CodeIgniter project visit my tutorial The easiest way to add composer into Codeigniter 3
Step one install facebook SDK v5 by the following code composer require "facebook/graph-sdk ~5.0" 
Now in your login view page create a link for facebook login
<p>
    <a href="<?php echo base_url();?>login/fblogin">Login with Facebook</a>
</p>
The codes for fblogin function inside login controller
function fblogin(){

    $fb = new Facebook\Facebook([
          'app_id' => 'your app id',
          'app_secret' => 'your app key',
          'default_graph_version' => 'v2.5',
        ]);

   $helper = $fb->getRedirectLoginHelper();

   $permissions = ['email','user_location','user_birthday','publish_actions']; 
// For more permissions like user location etc you need to send your application for review

   $loginUrl = $helper->getLoginUrl('http://localhost/sampleproject/login/fbcallback', $permissions);

   header("location: ".$loginUrl);
}
The above code will help you to redirect to facebook login page and after a user authenticates and give permission it will redirect to fbcallback function in login controller. The code for it is given below.
function fbcallback(){

        $fb = new Facebook\Facebook([
        'app_id' => 'your app id',
        'app_secret' => 'your app key',
        'default_graph_version' => 'v2.5',
        ]);
        
        $helper = $fb->getRedirectLoginHelper();  
  
        try {  
            
            $accessToken = $helper->getAccessToken();  
            
        }catch(Facebook\Exceptions\FacebookResponseException $e) {  
          // When Graph returns an error  
          echo 'Graph returned an error: ' . $e->getMessage();  
          exit;  
        } catch(Facebook\Exceptions\FacebookSDKException $e) {  
          // When validation fails or other local issues  
          echo 'Facebook SDK returned an error: ' . $e->getMessage();  
          exit;  
        }  
 
 
        try {
          // Get the Facebook\GraphNodes\GraphUser object for the current user.
          // If you provided a 'default_access_token', the '{access-token}' is optional.
          $response = $fb->get('/me?fields=id,name,email,first_name,last_name,birthday,location,gender', $accessToken);
         // print_r($response);
        } catch(Facebook\Exceptions\FacebookResponseException $e) {
          // When Graph returns an error
          echo 'ERROR: Graph ' . $e->getMessage();
          exit;
        } catch(Facebook\Exceptions\FacebookSDKException $e) {
          // When validation fails or other local issues
          echo 'ERROR: validation fails ' . $e->getMessage();
          exit;
        }
    
        // User Information Retrival begins................................................
        $me = $response->getGraphUser();
        
        $location = $me->getProperty('location');
        echo "Full Name: ".$me->getProperty('name')."<br>";
        echo "First Name: ".$me->getProperty('first_name')."<br>";
        echo "Last Name: ".$me->getProperty('last_name')."<br>";
        echo "Gender: ".$me->getProperty('gender')."<br>";
        echo "Email: ".$me->getProperty('email')."<br>";
        echo "location: ".$location['name']."<br>";
        echo "Birthday: ".$me->getProperty('birthday')->format('d/m/Y')."<br>";
        echo "Facebook ID: <a href='https://www.facebook.com/".$me->getProperty('id')."' target='_blank'>".$me->getProperty('id')."</a>"."<br>";
        $profileid = $me->getProperty('id');
        echo "</br><img src='//graph.facebook.com/$profileid/picture?type=large'> ";
        echo "</br></br>Access Token : </br>".$accessToken; 
        
       
    }

Hope this code and post will helped you for implement Facebook PHP SDK V5 integration with Codeigniter 3. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve onlincode. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs us

Comments