javascript - 即使用户已连接,Facebook Javascript SDK FB.getLoginStatus也会返回空 session

标签 javascript facebook session

我使用此代码来检查用户是否有打开的 Facebook session 并允许我的应用程序:

window.fbAsyncInit = function() {

   FB.init({
          appId   : 'MY APP ID',
          status  : true, // check login status
          cookie  : true, // enable cookies to allow the server to access the session
          xfbml   : true // parse XFBML
        });

function checkLoginFB() { 
  FB.getLoginStatus(function(response) {        
     if (response.session) {
       // logged in and connected user, someone you know
       showLogout();
      } else {
       // no user session available, someone you dont know
       showLogin();
      }
  });
 }

(function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
      }());

}

但无论如何(无论用户是否登录 Facebook 并允许我的申请) 我得到的response.session 为空值。有谁知道为什么吗?

最佳答案

SDK 似乎未正确加载。如果您 console.log FB var,您会得到什么?

检查您的 HTML 中是否有一个 ID 为 fb-root 的 div,并将其放置在您发布的 JS 之前

关于javascript - 即使用户已连接,Facebook Javascript SDK FB.getLoginStatus也会返回空 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291600/

相关文章:

javascript - jquery传递单选按钮数组

javascript - FBJS JavaScript getElementById 返回空值?

php - 一款开源 Facebook 应用程序。出于正当理由 :)

asp.net - 如何检查 SQL Server 代理是否正在运行

javascript - 从 Javascript 中的命名 CSS 样式获取字段

javascript - AngularJS 字符串不是函数

javascript - Three.js不渲染,一定要有requestAnimationFrame吗?

ios - 应用因 Facebook SDK 和 Flurry SDK 中的 advertisingIdentifier 而被拒绝

asp.net - 无 Cookie session 是否存在安全风险?

spring-boot - Spring启动超时配置异常