Facebook API - 检测会话是否处于活动状态

Facebook API - Detect if session is active OR NOT active

本文关键字:活动状态 是否 会话 API 检测 Facebook      更新时间:2023-09-26

我确定我只是忽略了Facebook API文档中的某些内容。基本上,在我加载FB图后,我需要知道会话是否处于活动状态...我不能简单地假设它们已注销,并在触发"auth.statusChange"事件后登录时重新渲染。我需要马上知道。

下面是我使用的代码。最重要的是,FB.getLoginStatus/getAuthResponse/getAccessToken不像我期望的那样工作;基本上,它指示在调用时,它们是登录还是注销。

(函数(d) {    创建 fb 根目录    var fb_root = document.createElement('div');        fb_root.id = "fb-root";        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('script');js.id = id;js.async = true;    js.src = "//connect.facebook.net/en_US/all.js";    ref.parentNode.insertBefore(js, ref);    应用配置数据    var 配置 = {        应用ID : XXXX,        饼干:真的,        状态:真,        无摩擦请求:真    };    window.fbAsyncInit = function() {        这是行不通的。        我不能假设他们已注销并依靠此告诉我他们已登录。        FB.Event.subscribe('auth.statusChange', function(response) {});        初始化        FB.init(config);        如果用户注销:(,则不会启动这些        FB.getLoginStatus(function(response) { });        FB.getAuthResponse(function(response) { });        FB.getAccessToken(function(response) { });    };}(文档));

任何帮助都非常感谢。 :)

感谢您的帮助,但我在另一篇文章中找到了答案:https://stackoverflow.com/a/7765144/560686

显然,当您仍处于沙盒模式时,FB.getLoginStatus()只会在他们登录时触发回调,而不是在他们注销时触发。为了使其正常工作,我必须禁用沙盒模式。:)