我在这里实现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');
}