2011-01-31 8 views
5

La función FB.getLoginStatus no funciona para mí por alguna razón, aunque solía hacerlo por algún tiempo. Código muy básico a continuación, y las ventanas emergentes de alerta nunca: parece que FB.getLoginStatus nunca llama a la función suministrada. Alguna idea?FB.getLoginStatus no funciona?

<body> 
<form id="form1" runat="server"> 
<div id="fb-root"> 
</div> 
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 
    FB.init({ appId: 'xxx', status: true, cookie: true, xfbml: true }); 
    FB.getLoginStatus(function (response) { 
     alert("Hi there"); 
    }); 
</script> 
</form> 

Respuesta

0

En la plataforma que están desarrollando la aplicación ?? Si es FBML a continuación, comprobar FBJS-Facebook JavaScript .I piensan alerta no funcionará en la aplicación FBML. Tengo este working..Just comprobar

<div id="fb-root"></div> 
<script type="text/javascript"> 
window.fbAsyncInit = function() { 
    FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: false}); 
}; 
(function() { 
    var e = document.createElement('script'); 
    e.type = 'text/javascript'; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
}()); 
window.fbAsyncInit = function() { 
    FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true}); 

     /* All the events registered */ 
     FB.Event.subscribe('auth.login', function(response) { 
      // do something with response 
      login(); 
     }); 
     FB.Event.subscribe('auth.logout', function(response) { 
      // do something with response 
      logout(); 
     }); 

     FB.getLoginStatus(function(response) { 
      if (response.session) { 
       // logged in and connected user, someone you know 
       login(); 
      } 
     }); 
    }; 

6

Si su aplicación está en modo de recinto ver este error: https://developers.facebook.com/bugs/240058389381072

También leer los comentarios de Philip Bulley

[ ...] Las aplicaciones esencialmente aisladas son invisibles para desarrolladores que no son de aplicaciones. Si no hay ningún usuario actualmente conectado a Facebook, Facebook actuará como si su aplicación de espacio aislado no existiera (FB obviamente no sabe que usted es un desarrollador de aplicaciones, ¡y por lo tanto la aplicación es invisible!).

Este error ha sido confirmado y asignado.

+0

Oh Dios, gracias por explicarme esto. He estado tirando de mi pelo durante horas tratando de descubrir cuál era el problema. Se desconectó el modo de espacio aislado y ahora FB.getLoginStatus funciona bien. (Lo cual pone en duda el valor del Modo Sandbox ... pero bueno) ¡Gracias! –