Problem z funkcją friends_get Facebooku

głosy
1

Fragment poniżej ma otrzymać listę znajomych z profilu użytkownika Facebooka do mojej aplikacji:

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

Zamiast nazwy z moich znajomych mam trochę całkowitą. Nie mogłem odgadnąć dlaczego. Byłoby miło wiedzieć, dlaczego moje podejście nie działa.

Utwórz 11/06/2009 o 14:37
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

Twoje podejście działa, ale jak udokumentowane na Facebooku Developer Wiki, funkcja FB.ApiClient.Friends_get którą nazywasz nie zwraca imiona przyjaciół, zwraca tablicę identyfikatorów użytkowników, które są duże (często większa niż liczba całkowita) wartości liczbowych. Trzeba będzie użyć dodatkowych funkcji, FB.ApiClient.users_getInfo , w celu przywrócenia nazwy (nazw) użytkowników. Także nie trzeba zadzwonić FB.Facebook.ApiClient można ominąć obiektu Facebook korzystając FB.ApiClient bezpośrednio.

Oto przykład (untested, ale powinny dać pomysł):

<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>
Odpowiedział 21/06/2009 o 06:08
źródło użytkownik

głosy
0

Wierzę, że trzeba zrobić:

FB.ApiClient.friends_get(
            new Array(),

Które widziałem na stronie dewelopera.

Odpowiedział 18/08/2009 o 03:18
źródło użytkownik

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