Question

Je fais face à ce couple d'erreur de jours. Il travaillait bien le même code, mais maintenant je suis coincé avec cette erreur. J'ai changé un hôte depuis. Peut-être pourrait-être? Lorsque je me connecte avec mon compte Facebook, et la demande est approuvée, je ne peux toujours pas récupérer l'ID utilisateur et d'autres données par défaut.

Voici le script, s'il vous plaît suggérer quoi que ce soit:

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

Était-ce utile?

La solution

Il est peut-être que FB.init() n'a pas terminé le chargement et l'initialisation de la session lorsque vous appelez FB.api()? Je suis tombé sur un problème similaire. Ce qui fixe pour moi enveloppait mon appel FB.api() à FB.getLoginStatus(), comme suit:

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

Il semble retarder / assurez-vous que la session est correctement initialisé avant d'appeler l'API. J'espère que cela fonctionne pour vous aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top