我正在实施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。有什么建议吗?
提前致谢。
答案 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');
}