使用Facebook connect从Facebook获取用户信息


Fetching the user info from facebook using facebook connect

我正在实现facebook连接,它对我来说部分工作得很好。当某些人使用Facebook登录时,它成功地登录了用户。这是登录 http://beta-demo.info/party/users/loginByFacebook 的链接,但是登录后,当我尝试从Facebook获取用户详细信息时,它现在显示任何内容。

这是Fb_Connect.php的代码 此文件放置在"库"文件夹中

<?php
include(APPPATH.'libraries/facebook/facebook.php');
class Fb_connect extends Facebook{
    //declare public variables
    public  $user           = NULL;
    public  $user_id        = FALSE;
    public $fb          = FALSE;
    public $fbSession   = FALSE;
    public $appkey      = 0;
    //constructor method.
    public function __construct()
    {
                $CI = & get_instance();
                $CI->config->load("facebook",TRUE);
                $config = $CI->config->item('facebook');
                parent::__construct($config);
                $this->user_id = $this->getUser(); // New code
                $me = null;
                if ($this->user_id) {
                    try {
                        $me = $this->api('/me');
                        $this->user = $me;
                        } catch (FacebookApiException $e) {
                            error_log($e);
                        }
        }
    } 
} // end class

这是记录功能

function loginByFacebook(){
            $this->load->library('fb_connect');
            $param['redirect_uri']=base_url();
            redirect($this->fb_connect->getLoginUrl($param));
    }

这是我尝试获取值的信息函数。

function facebook() {   
print('<pre>');
print_r($this->fb_connect);
        if (!$this->fb_connect->user_id) {
        echo 'No working ';
            //Handle not logged in,
        } else {
        echo   $fb_uid = $this->fb_connect->user_id;
         echo  $fb_usr = $this->fb_connect->user;
           //Hanlde user logged in, you can update your session with the available data
           //print_r($fb_usr) will help to see what is returned
        }
}

信息页面的网址 http://beta-demo.info/party/users/facebook

我对Facebook连接没有太多想法 API.so 请帮助我

我唯一能看到你缺少的是调用"/me"时的字段。这是我用来从facebook connect获取信息的功能。工作示例:http://www.paravegetarianos.com

function facebookConnect()
{
    $this->config->load('facebook', TRUE);
    $config = array(
        'appId'  => $this->config->item('facebook_api_id', 'facebook'),
        'secret' => $this->config->item('facebook_secret_key', 'facebook'),
        'fileUpload' => true,
    );
    $this->load->library('Facebook', $config);
    $user = $this->facebook->getUser();
    $profile = null;
    if($user):
        try {
            $profile = $this->facebook->api('/me?fields=id,username,email'); //<--- you are missing the fields
        } catch (FacebookApiException $e) {
            error_log($e);
            $user = null;
        }
    endif;
    if($profile != null):
        $profile['uid'] = $user;
        $data = $profile;
        var_dump($data); //<--------- Information
                    die();
    endif;  
}

这是我的工作代码

<?php
   function loginByFacebook()
   {
        $this->load->library('fb_connect');      
        $param = array( 
                        'scope' =>'email,user_location,user_birthday,offline_access',                                                   'redirect_uri' => base_url()
                       );
        redirect($this->fb_connect->getLoginUrl($param));                   
   }
   function facebook()
   {    
        if (!$this->fb_connect->user_id) {      
        } else {        
            $fb_uid = $this->fb_connect->user_id;
            $fb_usr = $this->fb_connect->user;  
            $firstname = $fb_usr['first_name'];
   }
?>