2012-07-11 15 views
89

Pracuję teraz nad aplikacją internetową, która jest w większości oparta na api facebook graph. Posiadam pewne dane na temat użytkowników - w rzeczywistości możliwe dostępne dane publiczne - takie jak imię i nazwisko oraz identyfikator. Wiem również, że zdjęcie profilowe jest częścią danych publicznych i zastanawiałem się, w jaki sposób będę mógł uzyskać bezpośredni link do zdjęcia profilowego użytkownika tylko za pomocą jego identyfikatora?Pobierz obraz profilu użytkownika według Id

góry dzięki

+0

Możliwy duplikat [Facebook API - Jak uzyskać obraz profilu użytkownika Facebooka za pośrednictwem interfejsu API Facebooka (bez wymagania dla użytkownika "Zezwalaj" na aplikację)] (http://stackoverflow.com/questions/2821061/facebook -api-jak-to-i-get-a-facebook-users-profile-image-through-the-facebook) –

Odpowiedz

225

http://graph.facebook.com/ "+ facebookId +"/obraz type = kwadratowy Na przykład: http://graph.facebook.com/67563683055/picture?type=square

Istnieją również bardziej rozmiary oprócz "kwadrat". Zobacz the docs.

+27

Dla każdego, kto chce link do dokumentów: https://developers.facebook.com/docs/graph -api/reference/user/picture/ –

+15

Najlepiej przyjrzeć się dokumentom, ponieważ mają też wszystkie inne opcje. Na przykład, jeśli chcesz mieć duży, kwadratowy obraz (ponieważ domyślny kwadrat jest mały), musisz użyć 'https://graph.facebook.com/ {facebookId}/picture? Type = large & width = 720 & height = 720'. – sudo

+0

czy istnieje sposób na zapytanie o adres URL obrazu, a nie sam obraz? Chciałbym przesłać obraz na front-end, nie przez serwer, jeśli to możliwe. –

11

To jest dosłownie na pierwszej stronie Graph API documentation.

  • /OBJECT_ID/picture zwraca przekierowanie do obrazu obiektu (w tym przypadku użytkownicy)
  • /OBJECT_ID/?fields=picture zwraca URL obrazka za

Przykłady:

<img src="https://graph.facebook.com/4/picture"/> używa protokołu HTTP 301 przekierowanie do profilu Zuck za zdjęcie

https://graph.facebook.com/4?fields=picture zwraca sam adres URL:

+1

Niestety, nie ma go już na stronie głównej dokumentacji Graph API, teraz jest tutaj: https://developers.facebook.com/docs/graph-api/using-graph-api – Igy

+2

* NIE *, nie ma go na pierwszej stronie dokumentacji Graph API. Lepiej unikać instrukcji ograniczających czas na SO. Wiesz ... rzeczy zmieniają się dość szybko w tych dniach ... –

+0

i jak na ironię twoja odpowiedź jest o wiele bardziej przydatna z ważniejszymi informacjami niż strona api na wykresie :-) –

2

Użyj adresu URL jako: https: //graph.facebook.com/ user_id/picture? Type = square in src of img tag. typ może być mały, duży.

97

Możesz użyć następujących adresów URL, aby uzyskać różne rozmiary obrazów profilowych. Upewnij się, że dodasz identyfikator Facebooka do adresu URL.

Duży rozmiar zdjęcia https://graph.facebook.com/ {facebookId}/obraz? Type = duża

Średni rozmiar zdjęcia https://graph.facebook.com/ {facebookId}/obraz? Type = normalny

Mały rozmiar zdjęcia https://graph.facebook.com/ {facebookId}/picture? Type = small

Square zdjęcie https://graph.facebook.com/ {facebookId}/obraz? Type = square

+4

+1 za wymienienie wszystkich rozmiarów – Manwal

+1

W ten sposób mogłem odkryj mój własny FacebookId: https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.5 – Ryan

27

Aby uzyskać największy rozmiar obrazu

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720) 

lub cokolwiek innego trzeba jak rozmiar. Na podstawie doświadczenia typ = duży nie jest największym wynikiem, jaki można uzyskać.

+0

również może przekazać: https://graph.facebook.com /{userID}?fields=picture.type(large) jest to przydatne, gdy masz coś takiego, String url = "https://graph.facebook.com/me?fields=id,name,email, picture.type (duży) jak wspomniano w innych odpowiedziach możesz zamienić duży na normalny, mały, kwadratowy ... – yajnesh

3

Tutaj Ten interfejs API pozwala na uzyskać fb, google, twitter profil fotki łatwo https://www.avatars.io/

+1

To naprawdę jest fantastyczne! Tylko dlatego, że SO lubi linki do opisania nieco bardziej szczegółowo; jest to API, które zwraca obraz profilu po podaniu nazwy użytkownika dla różnych sieci społecznościowych, takich jak Twitter, Facebook, Instagram i gravatar. Posiada biblioteki dla iOS, Androida, Ruby, Node, PHP, Python i JavaScript. Wyjątkowy kawałek oprogramowania. Można go znaleźć [na GitHub] (https://github.com/chute/avatars-io). –

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać odnośnik.Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/18928693) –

0

Możesz użyć AngularJs do tego, jego dwukierunkowa funkcja wiązania danych otrzyma rozwiązanie przy minimalnym wysiłku i mniejszej ilości kodu.

<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>

Mam nadzieję, że odpowiedzi na swoje query.Note: Można użyć innej biblioteki, jak również.