Problema con la funzione friends_get Facebook

voti
1

Il frammento di seguito si suppone per ottenere un elenco di amici da profilo Facebook di un utente nella mia applicazione:

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

Al posto del nome dei miei amici ho qualche intero. Non riuscivo a immaginare il perché. Sarebbe bello sapere perché il mio approccio non funziona.

È pubblicato 11/06/2009 alle 14:37
fonte dall'utente
In altre lingue...                            


2 risposte

voti
2

Il tuo approccio funziona, ma come documentato sul Facebook Developer Wiki, la funzione FB.ApiClient.Friends_get che voi chiamate non restituisce i nomi di amici, si restituisce un array di loro ID utente, che sono di grandi dimensioni (spesso più grande di numero intero) valori numerici. Sarà necessario utilizzare una funzione aggiuntiva, FB.ApiClient.users_getInfo , al fine di restituire il nome (s) degli utenti. Inoltre non è necessario chiamare FB.Facebook.ApiClient, è possibile ignorare l'oggetto Facebook utilizzando direttamente FB.ApiClient.

Ecco un esempio (non testato, ma dovrebbe darvi l'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>
Risposto il 21/06/2009 a 06:08
fonte dall'utente

voti
0

Credo che quello che dovete fare:

FB.ApiClient.friends_get(
            new Array(),

Che ho visto sul sito degli sviluppatori.

Risposto il 18/08/2009 a 03:18
fonte dall'utente

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