PHPを使用してユーザーを正常に認証し、アクセストークンを取得しています。ただし、アプリの一部では、Javascriptを使用して画像/友達などをロードしています。以前は getLoginStatus に問題はありませんでしたが、現在は返されています
status: unknown
時間の約 80%。他のブラウザーよりも Firefox の方が少しうまく機能しているようですが、それでも発生するようになったので、それはまぐれだと思います。これに影響を与えた可能性があると私が考えることができる唯一のことは、誰かがphpを使用してログインしようとする前に、以前のユーザーをログアウトしようとすることです(ただし、ファイルを元に戻してテストせずにテストしようとしましたが、まだ機能しません.したがって、永続的なデータが何らかの形で台無しにされない限り、私には手がかりがありません):
$fb_key = 'fbsr_'.$facebookConfig['app_id'];
setcookie($fb_key, '', time()-3600);
$facebook->destroySession();
これについてグーグルで何も見つけられないようなので、何が起きているのか本当にわかりません。この時点で、php を介して持っているアクセス トークンを使用して、javascript API を介してクエリを作成する必要があるかもしれません (これはまだ正常に取得できるため)。私は今それを調べるつもりですが、それまでの間、誰かが何かアイデアを持っている場合に備えて投稿したいと思いました!
これが私のJSコードです:
window.fbAsyncInit = function() {
FB.init({
appId : pre_fbAppID, // App ID
channelUrl : pre_absURL + '/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
doFacebookLogin();
//Facebook can notify us when the user logs in and logs out
FB.Event.subscribe('auth.login', function(response) {
// do something with response
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
});
function doFacebookLogin(){
FB.getLoginStatus(function(response) {
checkLoginResponse(response);
}, true);
}
...