Tengo un problema difícil. Difícil significa que busqué a través de la red y StackOverflow así como toda la documentación FBJS SDK y no he encontrado respuesta.FB.getLoginStatus no dispara la función de devolución de llamada
Estoy construyendo una aplicación de pestaña de página donde me gustaría dejar que los fans realicen eventos de rsvp. Así que tengo que verificar si el usuario está conectado y si no es así, debo iniciar sesión. Eso suena bastante fácil, pero FB.getLoginStatus no dispara la función de devolución de llamada. Este es el extracto de código:
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
y luego simplemente - por supuesto, después el usuario hace clic en un botón - llamar FB.getLoginStatus, pero parece que no hace nada.
Ya he comprobado el modo sandbox, el éxito de FB.init, las URL en la configuración de la aplicación y el entorno en desarrollo. Puedo llamar a FB.ui, aunque FB.ui con el método: 'oauth' aparece un mensaje de error que dice "El parámetro" redirect_uri "no se puede usar junto con el parámetro" siguiente ", que está en desuso.". Lo cual es muy extraño porque no usé el parámetro "siguiente". Pero cuando configuro al lado de indefinido, funciona bien, obtengo la ventana, pero dice "La URL dada no está permitida por la configuración de la aplicación". Espere a partir de eso, puedo iniciar sesión, luego tengo el access_token. Pero en la nueva ventana, getLoginStatus todavía no hace nada.
Así que cualquier consejo es bienvenido.
Gracias, Tamas
ACTUALIZACIÓN:
function onBodyLoad() { //on body onload
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
}
...
function getName() { // on button onclick
FB.getLoginStatus(function(response){
if (response.authResponse)
{
window.loggedIn = true;
debugString('Logged in');
} else
{
window.loggedIn=false;
debugString('Not logged in');
}
}, true);
if (window.loggedIn === undefined) {
debugString('getLoginStatus did not exec'); // I always get this message
}
}
ACTUALIZACIÓN 2: He creado una nueva aplicación en una URL diferente, que se configura como un sitio web independiente . Allí estos códigos funcionan perfectamente, puedo obtener Logstart, puedo iniciar sesión, etc. ¿Hay alguna diferencia trabajando en el contexto de FB, y en un sitio web independiente, usando FB JavaScript SDK?
¿Podría proporcionarnos más códigos? – ifaour