2010-02-10 2 views
1

J'essaye de mettre le bouton de connexion de Facebook sur le site et une fois connecté le nom d'utilisateur connecté d'affichage. Mais pour une raison quelconque, le code suivant va dans une boucle infinie lors de la première connexion, puis fonctionne bien, sauf si je supprime cette application de mon profil Facebook qui provoque le gel à nouveau.Facebook API JS: users_getInfo() à l'intérieur ifUserConnected() blocage

Voici un code sur FB bouton de connexion, cliquez sur:

FB.Connect.requireSession(); 

Voici le code directement sur la page:

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script> 
<script type="text/javascript"> 
    FB.init("123", "/xd_receiver.htm"); 
    FB.ensureInit(function() { 
     FB.Connect.ifUserConnected(function() { 
      FB.Facebook.apiClient.users_getInfo(new Array(FB.Connect.get_loggedInUser()),new Array("name"), function(user, exec) { 
      console.log("logged in:"+user[0].name); 
      }); 

     }, function(){ 
      console.log("guest"); 
     }); 
    }); 
</script> 

Si je retire FB.Facebook.apiClient.users_getInfo() cela fonctionne très bien, mais je dois obtenir le nom d'utilisateur en quelque sorte. Des conseils?

Merci.

Répondre

0

Pour que vous devez passer le paramètre de nom d'utilisateur sous forme de tableau comme:

FB.Facebook.apiClient.users_getInfo(new Array(FB.Connect.get_loggedInUser()),new Array("name","username"), function(user, exec) { 
      console.log("logged in:"+user[0].name); 
      }); 
0

Vous pouvez obtenir comme celui-ci;

FB.Facebook.apiClient.users_getInfo(loggedInUsersId, ['first_name','last_name','email','sex','birthday','username'], function(result,ex){ 
     alert(result[0]['username']); 
    });