Login Facebook PHP SDK 3.0(检查用户是否登录)
我试图使用Facebook PHP SDK 3.0来了解用户当前是否登录到其Facebook帐户以显示其信息 这就是流程:Login Facebook PHP SDK 3.0(检查用户是否登录),login,facebook-php-sdk,Login,Facebook Php Sdk,我试图使用Facebook PHP SDK 3.0来了解用户当前是否登录到其Facebook帐户以显示其信息 这就是流程: 用户访问我的网站并将其帐户与我的facebook应用程序连接 用户现在登录到我的网站,我的网站可以访问他的信息 用户从facebook.com注销 用户刷新我的页面 用户已从我的网站注销 用户登录facebook.com 用户刷新我的页面 用户应登录到我的网站,但未登录 当您使用Javascript SDK时,您可以检查用户是否已登录,并且所有步骤都正常工作。PHPSDK3
Jeremie根据签名的请求,你应该能够知道用户以前是否授权过你的应用程序。 这应该给你一些关于用户的状态
要检查他是否登录到fb,对于授权用户,您可以尝试查询“/me”,看看您是否可以成功地查询它在所有页面(core js)中添加此javascript。 login()和logout()是用于系统登录和注销的函数。 这样,每次fb登录或未登录时,它都会进行检查,并调用函数进行登录。 并会符合以下条件— 用户应登录到我的网站,但未登录
window.fbAsyninit=函数(){
init({appId:'113700398662301',状态:true,cookie:true,xfbml:true});
/*所有事件都已登记*/
FB.Event.subscribe('auth.login',函数(响应){
//做些有反应的事情
登录();
});
FB.Event.subscribe('auth.logout',函数(响应){
//做些有反应的事情
注销();
});
FB.getLoginStatus(函数(响应){
if(response.session){
//已登录并已连接的用户,您认识的人
登录();
}
});
};
问题是PHP API中的“/me”在我在facebook上“重新登录”并返回到我的站点后会给我“null”。然而,通过javascript API,它告诉我我已登录。
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '113700398662301', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
// do something with response
login();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
login();
}
});
};
</script>