Problema con la función friends_get de Facebook

votos
1

Se supone que el siguiente fragmento para obtener una lista de amigos del perfil de Facebook de un usuario en mi aplicación:

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

En lugar del nombre de mis amigos, obtengo un número entero. No pude adivinar por qué. Sería bueno saber por qué mi enfoque no funciona.

Publicado el 11/06/2009 a las 14:37
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Su enfoque funciona, pero como está documentado en Facebook Developer Wiki, la función FB.ApiClient.Friends_get a la que llama no devuelve los nombres de los amigos, devuelve una matriz de sus ID de usuario que son grandes (a menudo más grandes que un número entero) valores numéricos Tendrá que usar una función adicional, FB.ApiClient.users_getInfo , para devolver los nombres de los usuarios. Tampoco necesita llamar a FB.Facebook.ApiClient, puede omitir el objeto de Facebook con FB.ApiClient directamente.

Aquí hay un ejemplo (no probado, pero debería darle la idea):

<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>
Respondida el 21/06/2009 a las 06:08
fuente por usuario

votos
0

Creo que tienes que hacer:

FB.ApiClient.friends_get(
            new Array(),

Que vi en el sitio del desarrollador.

Respondida el 18/08/2009 a las 03:18
fuente por usuario

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