,因爲在過去一年中很多東西的Facebook所做的所有修改都改變了。 網上有一些解決方案,但他們不再工作。 (喜歡這一個:Using the PHP or JavaScript Facebook SDK, how can I keep the user logged in to my website?)與PHP Facebook的自動登錄連接+ JS
我已經在我的網站上實現了Facebook連接與PHP的Facebook的SDK。 問題是與已經批准了我的應用程序,並且還登錄到他們的Facebook用戶。 在這種情況下,我希望他們自動登錄,無需再次按下連接按鈕。 我猜想,有一種方法使用PHP + JS做,但我怎麼也找不到,相信我,我試過幾件事情。問題是,PHP的用戶檢查
$user = $facebook->getUser();
不認可的Facebook會話,我想,也許我可以用JS觸發它。 所以我累了添加此代碼爲JS網頁和ALRETS正在說用戶已連接,但沒有會話傳遞給PHP,所以PHP SDK無法識別用戶連接:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?=FACEBOOK_APP_ID?>',
status : true, //
cookie : true, //
xfbml : true, //
oauth : true
});
// Additional initialization code here
//--------> this isn't need to work its only a check
FB.getLoginStatus(function(response) {
//console.log(response);
if (response.status === 'connected') {
var accessToken = response.authResponse.accessToken;
alert(accessToken);
} else if (response.status === 'not_authorized') {
//login function
} else {
//login function
}
}, true);
FB.Event.subscribe('auth.authResponseChange', function(response) {
//console.log('The status of the session changed to: '+response.status);
alert(response.status);
});
//--------> END OF CHECK!!
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/<?=$fb_api_lang?>/all.js#xfbml=1";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
,如果有人發現了一個解決這個問題,並可以分享它將非常感激。
我試着你說的是什麼該但並不working- '
' – timziv 2012-07-26 16:03:11你能否代碼爲編輯添加到您原來的問題可讀性更好?謝謝! – CBroe 2012-07-26 16:08:09
完成,看看。 :\(順便說一句謝謝) – timziv 2012-07-26 16:23:13