在FB.int()之前调用了facebook登录错误FB.login()

facebook login error FB.login() called before FB.init()

本文关键字:FB facebook 登录 错误 login int 调用      更新时间:2023-09-26

我在登录到facebook时遇到了问题,我一直得到错误代码:在FB.ini((之前调用的FB.login((。我做了很多事情,但一直得到错误。这是html代码:

 <!-- Javascript
        =================================================== -->
        <script src="//connect.facebook.net/en_US/all.js"></script>
        <script src="js/facebook.js"></script>
    </head>
    <body>
        <div id="fb-root"></div>
        <script>
            var email;
            var name;
            window.fbAsyncInit = function() 
            {
                FB.init({
                    appId      : '509855929050339', // App ID
                    status     : true, // check login status
                    cookie     : true, // enable cookies to allow the server to access the session
                    xfbml      : true  // parse XFBML
                });
                FB.Event.subscribe('auth.login', function () {
                    window.location = "http://webs.hogent.be/~096506gd/home.html";
                });
                FB.getLoginStatus(function(response) {
                    if (response.status === 'connected') {
                        // the user is logged in and has authenticated your
                        // app, and response.authResponse supplies
                        // the user's ID, a valid access token, a signed
                        // request, and the time the access token 
                        // and signed request each expire
                        var uid = response.authResponse.userID;
                        var accessToken = response.authResponse.accessToken;
                        window.location = "http://webs.hogent.be/~096506gd/home.html";
                    } 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.
                    }
                });
            };
            // 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 = "//connect.facebook.net/en_US/all.js";
                ref.parentNode.insertBefore(js, ref);
            }(document));
        </script>
        <div class="container">
            <img class="offset-by-three ten columns margin-top25" src="images/logo.png">
            <div class="offset-by-five">
                <a class="six columns full-width button margin-top175" href="home.html">
                    Aanmelden
                </a>
                <a class="six columns full-width button margin-top175" onclick="loginUser()">
                    Aanmelden met facebook
                </a>
            </div>
        </div>
    </body>
</html>

这是javascript文件:

function loginUser(){
    FB.login(function(response) {
        if (response.authResponse) {
            console.log('Welcome!  Fetching your information.... ');
            //console.log(response); // dump complete info
            access_token = response.authResponse.accessToken; //get access token
            user_id = response.authResponse.userID; //get FB UID
            FB.api('/me', function(response) {
                alert ("email: "+response.email); //get user email
                alert ("naam : "+respone.name);
          // you can store this data into your database             
            });
        } else {
            //user hit cancel button
            console.log('User cancelled login or did not fully authorize.');
        }
    }, {
        scope: 'publish_stream,email'
    });
}

在您的代码中,您包含了三次Facebook JavaScript SDK!拆下以下线路:<script src="//connect.facebook.net/en_US/all.js"></script><script id="facebook-jssdk" async="" src="//connect.facebook.net/en_US/all.js"></script>

此外,在初始化Facebook之前,你可能需要等待一两秒钟,这可能是你出现错误的另一个原因。

再试一次,希望它现在能起作用。

只需将app_id放在js-src 旁边

<script src="//connect.facebook.net/en_US/all.js&appId=xxxxxxxxxxxxxxx" type="text/javascript"></script>

这对我很有效。