2012-01-10 15 views
0

私はこのエラーを数日対処しています。 これは、同じコードをうまく動作させるために使用されましたが、今はこのエラーが発生しています。私はその後、ホストを変更しました。たぶんそれかもしれない? Facebookアカウントでログインしてもアプリケーションが承認されても、ユーザーIDやその他のデフォルトデータは引き続き取得できません。ここでFB( '/ me'、function(user){})の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.getLoginStatus()で私FB.api()コールをラッピングされたためにそれを固定どう:

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

遅らせるようだ/セッションが正常にAPIを呼び出す前に初期化されていることを確認してください。私もそれがあなたのために働くことを願っています

+0

完全に働きました:)ありがとうございます。このトリックを覚えていますか? –