Facebook API ドキュメントの何かを見落としているだけだと思います。基本的に、FB グラフをロードした後、セッションがアクティブかどうかを知る必要があります...ログアウトしていると単純に仮定することはできません。イベントがトリガーされます。私はすぐに知る必要があります。
以下は、私が使用したコードです。最も重要なのは、FB.getLoginStatus/getAuthResponse/getAccessToken が期待どおりに機能しないことです。基本的に、呼び出されたときにログインしているかログアウトしているかを示す場所です。
(関数(d) {
// fb-root を作成します
var fb_root = document.createElement('div');
fb_root.id = "fb ルート";
document.getElementsByTagName('body')[0].appendChild( fb_root );
// FB 非同期をロード
var js、id = 'facebook-jssdk'、ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('スクリプト'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
// アプリの設定データ
変数構成 = {
アプリ ID : XXXX、
クッキー: 真、
ステータス: 真、
摩擦のないリクエスト: true
};
window.fbAsyncInit = function() {
// これは機能しません。
// 私は彼らがログアウトしているとは仮定できず、これに頼って彼らがログインしていることを教えてくれます.
FB.Event.subscribe('auth.statusChange', function(response) {});
// 初期化
FB.init(構成);
// これらは、ユーザーがログアウトしているかどうかを示しません :(
FB.getLoginStatus(関数(応答) {});
FB.getAuthResponse(関数(応答) {});
FB.getAccessToken(関数(応答) {});
};
}(資料));
どんな助けでも大歓迎です。:)