Obecnie używam Graph API Explorer do wykonywania testów. To dobre narzędzie.
Chcę otrzymać listę znajomych użytkownika, z imionami, identyfikatorami i zdjęciami znajomych. Więc wpisuję:
https://graph.facebook.com/me/friends?fields=id,picture,name
Ale zdjęcie ma tylko 50x50 i chciałbym mieć większy w tej prośbie.
Czy to możliwe ?
facebook
facebook-graph-api
Jaskółka oknówka
źródło
źródło
Jak opisano w tym błędzie na Facebooku, możesz teraz zażądać określonych rozmiarów obrazów za pomocą nowej składni API „ rozszerzania pól ”.
Tak jak to:
źródło
Najlepszym sposobem, aby wszyscy znajomi (którzy oczywiście również używają aplikacji) mieli poprawne rozmiary obrazu, korzystając z rozszerzenia pola , z jednym z tagów rozmiaru (kwadratowy, mały, normalny, duży):
(edycja: to już nie działa)
... lub możesz określić szerokość / wysokość:
Btw, możesz też napisać to tak:
źródło
Zmień tablicę pól
id,name,picture
naid,name,picture.type(large)
Wynik:
źródło
Graph returned an error: (#100) For field 'picture': type must be one of the following values: thumbnail, small, album
Możesz ustawić rozmiar obrazu w pikselach, na przykład:
W podobny sposób
type
można użyć parametruZ dokumentacji
źródło
Możesz także spróbować uzyskać obraz, jeśli chcesz, aby był oparty na wysokości lub szerokości
https://graph.facebook.com/user_id/picture?height=
LUB
https://graph.facebook.com/user_id/picture?width=
Wartości są domyślnie w pikselach, wystarczy podać wartość int
źródło
Dokładnie zbadałem Graph API Explorer i ostatecznie znalazłem full_picture
PS Zauważyłem, że full_picture nie zawsze zapewnia obraz w pełnym rozmiarze. „załączniki” tak
źródło
Hum ... Myślę, że znalazłem rozwiązanie.
W rzeczywistości można po prostu poprosić
Zgodnie z http://developers.facebook.com/docs/reference/api/ (sekcja "Zdjęcia"), url zdjęć profilowych można budować z identyfikatorem użytkownika
Na przykład, zakładając, że identyfikator użytkownika jest w $ id:
Ale to nie jest ostateczny adres URL zdjęcia, więc jeśli ktoś ma lepsze rozwiązanie, byłbym zadowolony :)
źródło
Możesz określić
width
&height
w swoim żądaniu do Facebook Graph API:http://graph.facebook.com/user_id/picture?width=500&height=500
źródło
Od
v2.7
,/<picture-id>?fields=images
wyświetli listę z różnymi rozmiarami obrazów, przy czym pierwszym elementem będzie obraz w pełnym rozmiarze.Nie znam żadnego rozwiązania dla wielu obrazów naraz.
źródło
W obrazach URL znalezionych w odpowiedziach na wykresie („ http://photos-c.ak.fbcdn.net/ ”), po prostu zastąp domyślny „_s.jpg” przez „_n.jpg” (? Normalny rozmiar) lub „_b.jpg” (? duży rozmiar) lub „_t.jpg” (miniatura).
Hacakable URL / REST API sprawiają, że sieć jest lepsza.
źródło
użytkownicy rest-fb (kwadratowy obraz, większa rozdzielczość): Connection myFriends = fbClient.fetchConnection ("ja / przyjaciele", User.class, Parameter.with ("fields", "public_profile, email, first_name, last_name, gender, picture .width (100) .height (100) "));
źródło
Otrzymałem ten błąd, gdy wysłałem żądanie z
picture.type(full_picture)
:Kiedy wysyłam żądanie za pomocą
picture.type(album)
ipicture.type(square)
, odpowiada mi obrazem o rozmiarze 50x50 pikseli.Kiedy wysyłam żądanie
picture.type(large)
, odpowiada mi obrazem o rozmiarze 200x200 pikseli.Kiedy
picture.width(800)
wysyłam żądanie , odpowiada mi obrazem o rozmiarze 477x477 pikseli.z
picture.width(250)
, odpowiedzi 320x320.z
picture.width(50)
, odpowiedzi 50x50.z
picture.width(100)
, odpowiedzi 100x100.z
picture.width(150)
, odpowiedzi 160x160.Myślę, że Facebook podaje obrazy, których rozmiar zmienia się, gdy użytkownik po raz pierwszy dodaje to zdjęcie.
źródło
Możesz go zmienić w następujący sposób.
Posługiwać się:
Szczegółowe informacje: https://developers.facebook.com/docs/graph-api/reference/user/picture/
źródło
Myślę, że na razie jedynym sposobem na uzyskanie dużych zdjęć znajomych jest użycie FQL. Najpierw musisz pobrać listę znajomych:
https://graph.facebook.com/me/friends
Następnie przeanalizuj tę listę i wyodrębnij wszystkich znajomych
ids
. Kiedy to masz, po prostu wykonaj następujące zapytanie FQL:200
tutaj jest tylko przykładowy rozmiar, możesz wpisać wszystko. Powinieneś otrzymać następującą odpowiedź:Każdy adres URL jest linkiem do obrazu o wymiarach 200 x 200 pikseli.
źródło
Mam ten sam problem, ale próbowałem rozwiązać ten problem. zwraca duży obraz. Nie jest to idealne rozwiązanie, ale możesz spróbować tego.
https://graph.facebook.com/v2.0/OBJECT_ID/picture?access_token=XXXXX
źródło
spróbuj zmienić rozmiar obrazu, zmieniając rozmiar piksela z adresu URL w każdym obiekcie json w następujący sposób:
na przykład zmieniam s480x480 na s720x720
Wcześniej: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s480x480/10454308_773207849398282_283493808478577207_n.jpg
Po: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s720x720/10454308_773207849398282_283493808478577207_n.jpg
źródło
Wariant w stylu JS. Wystarczy ustawić ogromną szerokość obrazu, a otrzymasz największy wariant.
źródło
Możesz użyć full_picture zamiast klucza picture, aby uzyskać obraz w pełnym rozmiarze.
źródło
Uwaga : z Graph API v8.0
must provide the access token
dla każdego żądania identyfikatora użytkownika.Uderzenie w Graph API:
Z firebase:
Otrzymujesz token
registerCallback
właśnie w ten sposóbOto, co mówi dokumentacja:
źródło