tools example ejemplos developers crear appid app javascript facebook

ejemplos - facebook login javascript sdk example



FB.getLoginStatus() llamado antes de llamar al error FB.init() en la consola (2)

Estoy tratando de verificar si un usuario ha iniciado sesión con mi aplicación, pero estoy obteniendo un "

FB.getLoginStatus() llamado antes de llamar a FB.init() .

"error en la consola. El setSize parece funcionar (aunque no del todo 1710 de altura, pero sin duda alrededor de 1500) por lo que no puedo entender por qué el getLoginStatus() da el error.

También comprobé doblemente con el ID de aplicación (eliminado a continuación) y eso es definitivamente correcto. El script se incluye a través de la derecha debajo de my 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"); } }); };


Este error también ocurrirá si no proporciona una ID de aplicación a FB.init. Ejemplo:

FB.init({ appId: '''' , channelUrl: ''//domain/channel.html'' , status: true , cookie: true });

Resultará en:

FB.getLoginStatus () llamado antes de llamar a FB.init ().


Necesita cargar la API de forma asíncrona. Intente eliminar su <script src="connect.facebook.net/en_US/all.js"></script> y actualice su JS a:

<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>

Ah, y mira la documentation !