繁体   English   中英

Facebook标签/页面验证问题:getLoginStatus始终返回not_authorized

[英]Facebook Tab / Page Authentication issues: getLoginStatus always returns not_authorized

我的Facebook应用程序有以下代码:

  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'XXXXXX', // App ID
      channelUrl : '/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
    });

    // Additional initialization code here

        //***************************************************
        //* FanGate for Facebook
        //***************************************************
        var hideLogin = function(){
           $("#login-fb").hide();
        }

        var showLogin = function(){
           $("#login-fb").show();
        }

        var doLogin = function(){
            FB.login(function(response) {
              if (response.session) {
                   hideLogin();
                   checkLike(response.session.uid)
              } else {
                // user is not logged in
              }
            });
        }

        var checkLike = function(user_id){
            var page_id = "XXXXXXXXX"; //coca cola
            var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
            var the_query = FB.Data.query(fql_query);

                  the_query.wait(function(rows) {

                      if (rows.length == 1 && rows[0].uid == user_id) {
                          $("#thirsty_thursdays").show();                  
                      } else {
                          $("#fan_gate").show();
                      }
                  });        
        }


        FB.getLoginStatus(function(response) {
            console.log(response.status);
            if (response.status == 'connected') {
                hideLogin();
                checkLike(response.authResponse.userID)
            } else {
                showLogin();
            }
        }, true);

        $("#login-fb a").click(doLogin);    
  };

  // 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/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));

response.status总是返回not_authorized ,我真的不清楚为什么。 我登录Facebook,应用程序是一个简单的页面选项卡。 我最近在Facebook上添加了应用程序以查看是否有帮助但没有运气。

我还没有看到Facebook JS SDK文档提供任何信息的任何其他信息。

我基本上希望在用户登录时显示内容并且是某个页面的粉丝,如果没有则隐藏内容。 (通常称为扇形门)

本来可以发布这个评论,但我还不能......

加载选项卡并且FB.getLoginStatus()响应指示“not_authorized”(因此,我假设,显示您的登录按钮) - 如果您再单击登录按钮会发生什么? 它是否提供Facebook弹出提示来授权应用程序? (我很犹豫要问这个,但你确实确定你已经授权了应用程序吗?)或者它什么都不做?

- 在FB.login的回调中..如果添加console.log(response.authResponse),它会输出什么?

- 我相信channelUrl应该是完全合格的,而你的根本相对。不确定会对你的问题产生什么影响,但可能想尝试一下..请参阅https://developers.facebook.com/docs/的JavaScript / gettingstarted /使用信道#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM