使用PHP SDK在codeigniter中与Facebook连接

时间:2013-07-28 19:06:41

标签: php facebook codeigniter authentication

我正在实施facebook的PHP SDK进行身份验证here。我在网上搜索过,发现了大量的教程。比如Using Facebook PHP SDK 3 with CodeIgniter

我修改了base_facebook.php以返回 www.skillpaper.com/auth/fb_register

$this->facebook->getLoginUrl()

当我点击登录模式中的“与Facebook连接”并且facebook auth popup出现时,它成功重定向到我的给定网址。即 www.skillpaper.com/auth/fb_register

我的代码就像在auth控制器中一样:

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。有什么建议吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

请从https://developers.facebook.com/docs/reference/php/下载Facebook PHP SDK 现在将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');
    }