quocvuongdn icon

#php: #CodeIgniter import Facebook SDK

quocvuongdn | PRO | 05/01/15 04:52:20 PM UTC | 0 ⭐ | 555 👁️ | Never ⏰ | []
PHP |

1.56 KB

|

None

|

0 👍

/

0 👎

//libraries/Facebook.php
 
<?php
 
define('FACEBOOK_SDK_DIR', 'facebook-php-sdk/src/Facebook/');
 
class Facebook{
    function __construct(){
        require __DIR__ . '/facebook-php-sdk/autoload.php';
    }
}
 
//controllers/Welcome.php
 
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
 
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
 
class Welcome extends CI_Controller {
    public $user = "";
    
    public function __construct() {
        parent::__construct();
        session_start();
        $this->load->library('facebook');
        FacebookSession::setDefaultApplication('___', '_______________');
    }
 
    public function oauth_login() {
        try {
            $session = $this->_get_session(base_url('welcome/oauth_login'));
            if($session){
                $me = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
                echo $me->getName();
            }
        }
        catch(FacebookRequestException $e) {
            echo $e->getMessage();
        }
        catch(\Exception $e) {
            echo $e->getMessage();
        }
    }
    
    private function _get_session($url) {
        $helper = new FacebookRedirectLoginHelper($url);
        try {
            $session = $helper->getSessionFromRedirect();
        }
        catch(FacebookRequestException $e) {
            echo $e->getMessage();
        }
        catch(\Exception $e) {
            echo $e->getMessage();
        }
 
        if(isset($session)){
            return $session;
        } else{
            echo '<a href="', $helper->getLoginUrl(), '">Login Facebook</a>';
            return false;
        }
    }
}

Comments