0

私のページにアクセスしたユーザーがFacebookにログインしているかどうかを確認するために、Facebook APIを使用しています。私はすべてを試しましたが、解決策を思い付くことができませんでした。サンドボックス モードがオフになっていることを特に述べたいと思います。私のコードはすぐ下にあります。

<div id="fb-root"></div>
    <script>

    function fbLoginStatus(response) {
        console.log("Status: "+response.session);
         if(response.session) {
            //user is logged in, display profile div
            alert("Logged in");
         } else {
            //user is not logged in, display guest div
            alert("Not logged in");
         }
     }
      window.fbAsyncInit = function() {
        FB.init({
          appId      : '111111111111111',  // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });
        FB.getLoginStatus(function(response){
            console.log("Hey");
            if(response.session){
                console.log("You are logged in");
            }
            else{
                console.log("You are not logged in");
            }
        });
        // Additional initialization code here
      };
      // 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 = "http://connect.facebook.net/en_US/all.js";
          ref.parentNode.insertBefore(js, ref);
        }(document));

    </script>
4

1 に答える 1

1

FB.getLoginStatus は、ユーザーが FB にログインしているかどうかを検出するために使用される関数です。関数のコールバックでは、 response.sessionをチェックしていますが、私の理解では、このセッションは JSON オブジェクトを返す有効な属性ではありません。response.statusを使用する必要があります。したがって、コードは次のようになります。

   FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    alert("LOG IN");
  } else if (response.status === 'not_authorized') {
    // the user is logged in to Facebook, 
    // but has not authenticated your app
  } else {
    // the user isn't logged in to Facebook.
  }
 });

お役に立てれば

カウシク

于 2012-07-26T05:53:06.687 に答える