Domanda

ho a che fare con questa coppia di errore di giorni. E 'usato per lavorare bene lo stesso codice, ma ora mi sono bloccato con questo errore. Ho cambiato un host da allora. Forse potrebbe essere che? Quando accedo con il mio account di Facebook, e l'approvazione della domanda, non riesco ancora a recuperare user id e altri dati di default.

Ecco lo script, si prega di suggerire qualcosa:

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

È stato utile?

Soluzione

Potrebbe essere che FB.init() ha carico non finito e l'inizializzazione della sessione quando si chiama FB.api()? Mi sono imbattuto in un problema simile. Che fissa per me stava avvolgendo la mia chiamata FB.api() in FB.getLoginStatus(), in questo modo:

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

Sembra ritardare / assicurarsi che la sessione viene inizializzato correttamente prima di chiamare l'API. Spero che funzioni anche per te.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top