2011-01-31 9 views
5

Funkcja FB.getLoginStatus nie działa dla mnie z jakiegoś powodu - chociaż była używana przez jakiś czas. Bardzo podstawowy kod poniżej, a alert nigdy nie jest wyskakujący - wygląda na to, że FB.getLoginStatus nigdy nie wywołuje dostarczonej funkcji. Jakieś pomysły?FB.getLoginStatus nie działa?

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

Odpowiedz

0

W jakiej platformie jesteś rozwijanie aplikacji ?? Jeśli jest FBML następnie sprawdzić FBJS-Facebook JavaScript .I pomyśleć alarm nie będzie działać w aplikacji FBML. mam to working..Just sprawdzić

<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

Jeśli aplikacja znajduje się w trybie Sandbox zobaczyć ten błąd: https://developers.facebook.com/bugs/240058389381072

także przeczytać komentarze Philip Bulley

[ ...] Zasadniczo aplikacje piaskownicy są niewidoczne dla programistów niebędących aplikacjami. Jeśli nie ma obecnie użytkownika zalogowanego na Facebooku, Facebook będzie działał tak, jakby twoja aplikacja w piaskownicy w ogóle nie istniała (FB oczywiście nie wie, że jesteś programistą aplikacji, a zatem aplikacja jest niewidoczna!).

Ten błąd został potwierdzony i przypisany.

+0

O Boże, dziękuję za wyjaśnienie tego. Od wielu godzin wyciągam włosy i próbuję zrozumieć, o co chodzi. Wyłączono tryb piaskownicy, a teraz FB.getLoginStatus działa dobrze. (Które podważa wartość Sandbox Mode ... ale no cóż) Dzięki! –