Problème avec la fonction friends_get Facebook

voix
1

L'extrait ci-dessous est censé obtenir une liste d'amis du profil Facebook d'un utilisateur dans mon application:

<script 
  type=text/javascript
  src=http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php>
</script> 
<script type=text/javascript>
  FB_RequireFeatures(
    [XFBML],
    function() {
      FB.Facebook.init(xxxxxxxx,xd_receiver.htm); 
      FB.Facebook.get_sessionState().waitUntilReady(
        function() {
          FB.Facebook.apiClient.friends_get(
            null,
            function(result,ex){window.alert(friends list : + result);}
          );
        }
      );
    }
  );
</script>

Au lieu du nom de mes amis, je reçois un entier. Je ne pouvais pas deviner pourquoi. Il serait bon de savoir pourquoi mon approche ne fonctionne pas.

Créé 11/06/2009 à 14:37
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
2

Votre approche fonctionne, mais comme Documenté sur le Wiki du développeur Facebook, la fonction FB.ApiClient.Friends_get que vous appelez ne retourne pas les noms d'amis, elle retourne un tableau de leurs ID utilisateur qui sont grandes (souvent plus grand que entier) valeurs numériques. Vous aurez besoin d'utiliser une fonction supplémentaire, FB.ApiClient.users_getInfo , afin de retourner le nom (s) des utilisateurs. Vous n'avez pas besoin d'appeler FB.Facebook.ApiClient, vous pouvez contourner l'objet Facebook en utilisant FB.ApiClient directement.

Voici un exemple (non testé, mais devrait vous donner l'idée):

<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script> 
<script type="text/javascript">
  FB_RequireFeatures(
    ["XFBML"],
    function() {
      FB.Facebook.init("xxxxxxxx","xd_receiver.htm"); 
      FB.Facebook.get_sessionState().waitUntilReady(
        function() {
          FB.ApiClient.friends_get(
            null,
            function(result,ex) {
              FB.ApiClient.users_getInfo(result, 'name',
                function(friendNames, exec) {
                  window.alert("first name in friends list: " + friendsNames[0]);
                }
              )
            }
          );
        }
      );
    }
  );
</script>
Créé 21/06/2009 à 06:08
source utilisateur

voix
0

Je crois que vous devez faire:

FB.ApiClient.friends_get(
            new Array(),

Ce que j'ai vu sur le site du développeur.

Créé 18/08/2009 à 03:18
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more