0

このコードを実行すると、ログインがポップアップ表示され、コンソール ログが無限ループで実行され始めます。FB.login() メソッドを正しく使用しているかどうかはわかりません。ユーザーが接続された状態でアプリに到着したことを条件に、アクセス許可を求めたいのですが、許可されている場合は、拒否された場合にチェックして処理する必要がある「接続済み」ステータスが返されませんか?

 FB.Event.subscribe('auth.authResponseChange', function(response) {

    if (response.status === 'connected') {

//if connected open permissions dialog

       FB.login(function(response) {
//if user grants permissions, make ajax call to pass signed request to php page

       if(response.status === 'connected'){


               $.ajax({
        url : "http://xxxxxxio/bn/s_Request.php",
        type : 'POST',
        data: {signed_request: response.authResponse.signedRequest},
        success : function (result) {

           console.log(result);
        },
        error : function () {
           alert("error parsing signed request");
        }
      });//closes ajax 

            }else{
                //if authorization cancelled, redirect to home page

                     window.location = "http://spilot.kd.io/bn/index.php";

                }//closes else

 }, {scope: 'user_location,user_likes'});

      testAPI();

    } else if (response.status === 'not_authorized') {
      // the person is logged into Facebook, but not into the app

     FB.login(function(response) {
             // handle the response
 }, {scope: 'user_location,user_likes'});

    } else {
      //  the person is not logged into Facebook, call the login() 

      FB.login(function(response) {
             // handle the response
 }, {scope: 'user_location,user_likes'});

    }//closes else

  });//closes event subscribe

var testAPI = function() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
      console.log('Good to see you, ' + response.name + '.');
    });
  };
4

1 に答える 1