2012-01-10 28 views
0

我正在處理這個錯誤幾天。 它曾經工作正常的代碼,但現在我堅持這個錯誤。從那以後,我改變了主人。也許可能是那個? 當我用我的Facebook帳戶登錄並且應用程序被批准時,我仍然無法檢索用戶標識和其他默認數據。FB('/ me',功能(用戶){})未識別的Facebook用戶

這裏是腳本,請建議什麼:

<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

工作完美:)謝謝很多先生會記住這個把戲。 – 2012-01-10 14:45:17