2012-06-14 3 views
0

나는 페이스 북 연결을 구현하고 그 부분적으로 잘 작동한다. 페이스 북으로 로그인 할 때 사용자 로그인에 성공했습니다. 다음은 로그인 http://beta-demo.info/party/users/loginByFacebook에 대한 링크입니다. 로그인 후 페이스 북에서 사용자 세부 정보를 가져 와서 이제는 아무 것도 표시하지 않으려 고합니다. 여기 facebook을 사용하여 페이스 북에서 사용자 정보 가져 오기 연결

이 파일은 라이브러리 폴더

<?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 

에 배치됩니다 Fb_Connect.php의의 코드이며,이 loging 기능

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

이며,이 내가하려고하고있는 정보 기능입니다 값을 가져옵니다. 호출 할 때 http://beta-demo.info/party/users/facebook

내가 연결 페이스 북에 대한 생각을 많이 가지고 해달라고 정보 페이지의

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 
     } 
} 

URL이 API.so 나에게

답변

0

이것은 내가 이런 짓을했는지 나에게

<?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']; 
    } 
?> 
1

도와주세요 난 당신이 누락 볼 수있는 유일한 것은 필드는 '/나를'. 이것은 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; 

} 
+0

Ohkkk 감사의 작업 코드는 ... 문제를 일으키는 것을 몇 가지 어리석은 실수 있습니다 ... –

관련 문제