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 aFB.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 !