2

Web サイトの Facebook ログインで問題が発生しました。以下のコードは、私の FB-Connect コードです。コードのコメント部分は、私の Web サイトにサインインします。私の問題は、このコードを「再アクティブ化」すると、ページにアクセスするたびに即座にログインすることです。しかし、ユーザーが「Facebookでログイン」ボタンをクリックしたときにログインしたいと思います。Facebookのログインボタンをクリックすると、ポップアップが表示され、何も起こりません..

FB-Connect ボタンをクリックしたときに、どうにかして JS 関数を呼び出すことはできますか?

              <script>
                    window.fbAsyncInit = function() {
                      FB.init({
                        appId      : 'xxxxxxxxxxxxxxxxxx', // App ID
                        status     : true, 
                        cookie     : true,
                        xfbml      : true,
                        oauth      : true,
                      });   
            var login = false;

                 FB.getLoginStatus(function(response) {
                          if (response.status === 'connected') {
                              console.log('connected');
                              login=true;

                                var uid = response.authResponse.userID;

            //this part of the code below redircts me to the part, where i login to my system.
                                /*var accessToken = response.authResponse.accessToken;
                                $.ajax({
                                    type: 'POST',
                                    url: '/?eID=login',
                                    data: $(this).serialize(),
                                    success: function(msg) { 
            alert("LOGIN");
                                $('#content').load('/live-session/tickets/');

                        }
                    });*/
                }});
4

1 に答える 1

6

fb接続ボタンをクリックしてFB.login関数を使用する必要があり、 FB.getLoginStatusを使用しないでください

 FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 });

ドクから

FB.getLoginStatus を使用すると、ユーザーが Facebook にログインしてアプリを認証したかどうかを判断できます。

したがって、ページの読み込み時にユーザーがログインしているかどうかを確認したくない場合は、これを呼び出さないでください。

Facebookのログインボタンをクリックすると、ポップアップが表示され、何も起こりません..

すでにアプリを承認して認証している場合、Facebook は再度ログインと承認を求めることはありません。

于 2012-06-04T14:44:23.597 に答える