2011-12-31 69 views
0

我使用Facebook的文件,登录到我创建只是让人们可以我工作的网站上通过Facebook登录的应用程序。我在代码点火器工作,我能够返回用户信息和一切。我让它工作没问题。函数不返回用户()

但是当我去到开发商的一边,因为我想在本地测试,并改变了网站的网址我得到一个错误的东西我不记得我认为错误代码为191我可能是错的。

然后我觉得很好,没有工作,所以我改回它,现在我无法在登录时检索任何用户数据。没有错误被抛出。来自Facebook文件的功能正常工作,但我似乎无法再获取用户信息。

我有,我用它来抓住从登录该信息的模型。

class Facebook_model extends CI_Model { 

function __construct() { 
    parent::__construct(); 

    $config = array(
     'appId' => 'XXXX', 
     'secret' => 'XXXXX', 
     'fileUpload' => true 
    ); 

    $this->load->library('facebook', $config); 

    $user = $this->facebook->getUser(); 


    $profile = null; 

    if($user) 
    { 
     try { 
      // Proceed knowing you have a logged in user who's authenticated. 
      $profile = $this->facebook->api('/me?fields=id,name,link,email'); 
     } catch (FacebookApiException $e) { 
      error_log($e); 
      $user = null; 

     } 
    } 

    $login_params = array(
     'redirect_uri' => (base_url() . 'test'), 
     'scope'  => 'email' 
    ); 

    $fb_data = array(
        'me' => $profile, 
        'uid' => $user, 
        'loginUrl' => $this->facebook->getLoginUrl($login_params), 
        'logoutUrl' => $this->facebook->getLogoutUrl() 
       ); 



    $this->session->set_userdata('fb_data', $fb_data); 
} 
} 

所以,正确的($user = $this->facebook->getUser();)后,我做了一个测试,并呼应$user,并得到。之前我没有。

的一个变化我做是在$login_params变种。我将redirect_uri更改为localhost由于显而易见的原因,该功能无效,然后我将其更改回现在显示的内容。

感谢

+0

这是超级沮丧。我从字面上看不出代码有什么问题。我检查了Facebook上的调试器,我没有收到任何错误。 – JoeMoe1984 2012-01-04 18:34:38

回答

0

的getUser仅当用户在您的应用程序/ Web登录返回用户信息(http://developers.facebook.com/docs/reference/php/facebook-getUser/)

所以,你应该在处理与用户没有登录的posibility模型(0),并让他登录BUTTOM。此外,如果用户为0,则应重置会话信息。