I am trying to check if a user is logged in with my app, but I am getting a
FB.getLoginStatus() called before calling FB.init().
error in the console. The setSize
appears to work (although not entirely 1,710 height but definitely around 1,500) so I cannot understand why the getLoginStatus()
gives the error.
I also double checked with the appID (removed below) and that is definitely correct. The script is included via <script src="file.js" type="text/javascript"></script>
right below my <body>
and <div id="fb-root"></div>
div.
window.fbAsyncInit = function() { FB.init({ appId : 'APPID', // App ID status : true, // check login status cookie : true, // enable cookies to allow the server to access the session oauth : true, // enable OAuth 2.0 xfbml : true // parse XFBML }); FB.Canvas.setSize({width: 520, height: 1710}); FB.Canvas.setAutoResize(100); FB.getLoginStatus(function(response) { if (response.authResponse) { // logged in and connected user, someone you know alert("?"); } else { // no user session available, someone you dont know alert("asd"); } }); };
You need to load the api asynchronously. Try removing your <script src="connect.facebook.net/en_US/all.js"></script>
and updating your JS to:
<div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : 'YOUR_APP_ID', // App ID channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File status : true, // check login status cookie : true, // enable cookies to allow the server to access the session oauth : true, // enable OAuth 2.0 xfbml : true // parse XFBML }); // // All your canvas and getLogin stuff here // }; // Load the SDK Asynchronously (function(d){ var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document)); </script>
Oh and check the documentation!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With