2012-01-10 3 views
0

Я имею дело с этой ошибкой пару дней. Он отлично работал с тем же кодом, но теперь я застрял в этой ошибке. С тех пор я сменил хост. Может быть, может быть так? Когда я вхожу в систему с моей учетной записью Facebook, и приложение одобрено, я по-прежнему не могу получить идентификатор пользователя и другие данные по умолчанию.Пользователь Facebook с FB ('/ me', function (user) {}) не распознан

Вот скрипт, пожалуйста, предложите что-нибудь:

<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<body> 
<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script src="http://www.oneslike.me/js/jquery-1.6.2.min.js"></script>   
<script> 
$(document).ready(function(){   
    FB.init({ 
     appId  : 'YOUR API KEY HERE', 
     status  : true, 
     cookie  : true, 
     xfbml  : true, 
     oauth  : true, 
    }); 

    FB.Event.subscribe('auth.login', function(response) { 
     window.location.reload(); //When logged reload 
    });   
    FB.api('/me', function(user){ 
     if(user.id!=null){ 
      alert("Logged user with FB_id: "+user.id); 
      $("#login_div").hide(); $("#data_div").show(); 
      var user_data = '<img src="http://graph.facebook.com/'+user.id+'/picture"><br/><a href="'+user.link+'">'+user.name+'</a>';    
      document.getElementById('data_div').innerHTML(user_data);    
     } 
     else 
     { 
      alert("Not logged user"); 
      $("#login_div").show(); $("#data_div").hide(); 
     } 
    });  
});  
</script> 
<div id="login_div" style="display: none;"> 
    <fb:login-button data-scope="user_birthday">Login with Facebook</fb:login-button> 
</div> 
<div id="data_div" style="display: none;">  
</div> 

ответ

0

Это может быть, что FB.init() не завершила загрузку и инициализации сеанса, когда вы звоните FB.api()? Я столкнулся с подобной проблемой. Что установил ее для меня обмотать мою FB.api() вызов в FB.getLoginStatus(), например, так:

FB.getLoginStatus(function(response) { 
    FB.api(function(response){ }); 
}); 

кажется, задержать/убедитесь, что сеанс инициализирован перед вызовом API. Надеюсь, это сработает и для вас.

+0

Работал отлично :) Спасибо, мистер Уилл помнит этот трюк. –

 Смежные вопросы

  • Нет связанных вопросов^_^