2

我的网站上的 Facebook 登录出现问题。下面的代码是我的 FB-Connect 代码。代码符号的注释部分让我进入我的网站。我的问题是,当我“重新激活”此代码时,它会在我每次访问该页面时立即登录。但是我想在用户单击“使用 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 回答