-1

ウェブサイトのログイン ボタンに facebook javascript SDK を使用していますが、正常に動作していますが、2 つのユース ケースで欠落しています

  1. FB.login() 関数のオンクリック イベントを起動しているにもかかわらず、Facebook の Cookie が利用可能な場合は常に index.php から event.php ページにリダイレクトされます。
  2. ユーザーがサイトのログアウト ボタンをクリックすると、index.php にリダイレクトされます。index.php ページを読み込んだ後、再び event.php ページにリダイレクトされます。

ここにindex.phpの私のコードがあります

<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
  appId      : '375834632488230', // App ID
  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
FB.Event.subscribe('auth.login', function(response) { 
window.location="http://mysite.com/event.php";

});

function doLogin(){
console.log("clicked on fb");
FB.login(function(response) {
  if (response.session) {
  FB.api('/me?fields=email,location,name,first_name,last_name,picture',
   function (response) {       });
  }
} , {scope:'email'}); 
}

</script>
<a href="#" id="fblogin"  class="signinfacebook" onclick="doLogin()">Sign in with
Facebook</a>
4

1 に答える 1

0

自分の質問に答える

このコードを削除してください:

FB.Event.subscribe('auth.login', function(response) { 
    window.location="http://mysite.com/event.php";
});

これは、このコンテキストでは使用しないでください。

次に、次の行をFB.Login()functionに含めます。

if(response.status=='connected'){
    window.location="http://mysite.com/event.php";
} else {
    console.log("login failed");
}

私はこれがうまくいくはずだと思う

于 2012-09-04T12:48:18.900 に答える