使用codeigniter中的PHP SDK与facebook连接


Connect with facebook using PHP SDK in codeigniter

我在这里实现facebook的PHP SDK进行身份验证。我在网上搜索过,发现了很多关于这方面的教程。比如使用带有CodeIgniter 的Facebook PHP SDK 3

我修改了base_facebook.php,在中返回www.skillpaper.com/auth/fb_register

$this->facebook->getLoginUrl()

当我在登录模式中点击"连接Facebook",Facebook验证弹出窗口出现时,它成功地重定向到了我给定的url。即www.skillpaper.com/auth/fb_register

我的代码类似于auth-controller:

public function fb_register(){
        $userId = $this->facebook->getUser();
        if($userId != 0){
            // Get user's data and print it
            $user = $this->facebook->api('/me');
            var_dump($user);
        }else{ echo "No user";}
}

我每次都收到"无用户"!我错过了什么?我不想为此使用任何JS API。有什么建议吗?

提前谢谢。

请从下载Facebook PHP SDKhttps://developers.facebook.com/docs/reference/php/现在将src文件夹放入application/controller文件夹中。调用控制器的任何函数如下:-

    require 'src/facebook.php';
    $appId = FBAPPID;
    $secretkey = FBSECRETKEY;
    $facebook = new Facebook(array(
  'appId'  => $appId,
  'secret' => $secretkey,
    ));
    $fb['facebook']=$facebook;
    $facebook_user = $facebook->getUser();
    $fb['facebook_user']=$facebook_user;
    if ($facebook_user) {
  try {
    $user_profile = $facebook->api('/me');
    //$fb['logoutUrl'] = $facebook->getLogoutUrl();
  } catch (FacebookApiException $e) {
    error_log($e);
    $facebook_user = null;
    $this->load->view('Your Page');
  }
    }else {
        $data['loginUrl'] = $facebook->getLoginUrl(array(
        'scope'         => 'user_about_me,email,user_birthday,friends_birthday,publish_stream,manage_pages,offline_access'              
        ));
        $this->load->view('Your Page');
    }