2

我正在使用Facebook的JavaScript的SDK。我创建了一个自定义Facebook按钮,我正在使用本地主机。当我连接到Facebook时,我没有获得授权答复。另外当我点击按钮点击功能不起作用。我怎么解决这个问题?Facebook登录自定义按钮javascript sdk

对象{状态: “NOT_AUTHORIZED”,authResponse:空}

HTML代码

<div class="col-md-12 text-center"> 
     <button class="loginBtn loginBtn--facebook" id="test"> 
      <span>Login with Facebook</span> 
     </button> 
    </div> 

JS代码

function statusChangeCallback(response) { 
      console.log(response); 
      if (accessToken) { 
       var accessToken = response.authResponse.accessToken; 
      } 
      if (response.status === 'connected') { 
       testAPI2(accessToken); 
      } else if (response.status === 'not_authorized') { 
       console.log("Err"); 
      } else { 
       console.log("Err"); 
      } 
     } 

     function checkLoginState() { 
      FB.getLoginStatus(function (response) { 
       statusChangeCallback(response); 
      }); 
     } 

     window.fbAsyncInit = function() { 
      FB.init({ 
       appId  : '39798***', 
       cookie  : true, 
       xfbml  : true, 
       version : 'v2.8' 
      }); 

      FB.getLoginStatus(function (response) { 
       statusChangeCallback(response); 
      }); 
     }; 

     (function (d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) return; 
      js = d.createElement(s); 
      js.id = id; 
      js.src = "//connect.facebook.net/en_EN/sdk.js"; 
      fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

     function testAPI2() { 
      FB.api('/me', { fields: 'id,name' }, 
       function (response) { 
        var user_id = response.id;//name 
        var name = response.name; 
        var type = 1; 
        $.ajax({ 
         type: 'post', 
         url: "services/services.php", 
         //dataType : 'json', 
         data: { 
          type: 'facebookLogin', 
          facebookId: user_id 
         }, 
         async: true, 
         cache: false, 
         success: function (data) { 
          console.log(data); 
          setTimeout(function() { 
          }, 1000); 
         }, 
         error: function (data) { 
          console.log(data); 
          console.log("An error occurred"); 
         } 
        }); 
       } 
      ); 
     } 

      $("#test").click(function(){ 
       checkLoginState(); 
      }); 
+0

而究竟在何处,你实际调用Facebook登录对话框......? – CBroe

+0

Id名称是测试呼叫功能 – Fatih

+0

我不知道这应该是什么意思。事实是,如果你想用你自己的按钮触发Facebook登录 - 那么你也必须自己调用登录对话框。迄今为止所显示的代码中没有任何内容会这样做。 – CBroe

回答