Facebook Graph API: uzyskaj większe zdjęcia w jednym żądaniu
Obecnie używam Graph API Explorer do wykonywania testów. To dobre narzędzie.
Chcę uzyskać 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, a ja chciałbym mieć większe w tej prośbie.
Czy to możliwe ?17 answers
Nie musisz jednak wyciągać atrybutu 'picture'. jest o wiele wygodniejszy sposób, jedyne czego potrzebujesz to userid, zobacz przykład poniżej;
Https://graph.facebook.com/user_id/picture?type=large
P. S. Typ określa żądany rozmiar
Plz należy pamiętać, że używając tokena z podstawowymi uprawnieniami,/me / friends zwróci listę znajomych tylko z atrybutami id+name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-18 12:14:01
Jak opisano w ten błąd na Facebook ' u, Możesz również poprosić o określone rozmiary obrazów teraz za pomocą nowej składni API " field expansion".
Like so:
https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-04 18:53:03
Najlepszym sposobem na zdobycie wszystkich znajomych (którzy również używają aplikacji, oczywiście) z poprawnymi rozmiarami zdjęć jest użycie rozszerzenie pola , albo z jednym ze znaczników rozmiaru (kwadrat, mały, normalny, duży):
/me/friends?fields=picture.type(large)
(edit: to już nie działa)
...możesz też podać szerokość / wysokość:
me/friends?fields=picture.width(100).height(100)
Btw, możesz też napisać tak:
me?fields=friends{picture.type(large)}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-27 07:52:02
Zmień tablicę pól id,name,picture
na id,name,picture.type(large)
https://graph.facebook.com/v2.8/me?fields=id,name,picture.type(large)&access_token=<the_token>
Wynik:
{
"id": "130716224073524",
"name": "Julian Mann",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p200x200/15032818_133926070419206_3681208703790460208_n.jpg?oh=a288898d87420cdc7ed8db5602bbb520&oe=58CB5D16"
}
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-26 17:02:03
Dokładnie zbadałem Graph API Explorer i w końcu znalazłem full_picture
https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture
P. S. zauważyłem, że full_picture nie zawsze zapewnia Pełny rozmiar obrazu chcę. "attachments" does
https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture,attachments
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-04 00:52:47
Możesz również spróbować uzyskać obraz, jeśli chcesz go na podstawie 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-30 12:04:57
Możesz ustawić rozmiar obrazu w pikselach, tak:
https://graph.facebook.com/v2.8/me?fields=id,name,picture.width(500).height(500)
W podobny sposób można użyć parametru type
{user-id}/?fields=name,picture.type(large)
Typ enum{mały, normalny, album, duży, kwadrat}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-24 14:57:02
Hum... Chyba znalazłem rozwiązanie.
W rzeczywistości, in może po prostu zażądać
https://graph.facebook.com/me/friends?fields=id,name
Według http://developers.facebook.com/docs/reference/api/ (sekcja "Zdjęcia"), url zdjęć profilu może być zbudowany z id użytkownika
Na przykład, zakładając, że ID użytkownika jest w $id:
"http://graph.facebook.com/$id/picture?type=square"
"http://graph.facebook.com/$id/picture?type=small"
"http://graph.facebook.com/$id/picture?type=normal"
"http://graph.facebook.com/$id/picture?type=large"
Ale to nie jest ostateczny URL obrazka, więc jeśli ktoś ma lepsze rozwiązanie, chętnie się dowiem:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-18 12:14:30
Od v2.7
, /<picture-id>?fields=images
wyświetli listę o różnej wielkości obrazów, pierwszym elementem jest pełny rozmiar obrazu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 15:39:40
W obrazkach URL znaleziony w odpowiedziach grafu (" http://photos-c.ak.fbcdn.net / " ones), just replace the default "_s.jpg" przez "_n.jpg" (? normalny rozmiar) lub "_b.jpg" (? duży rozmiar) lub "_t.jpg" (miniaturka).
Hacakable Url / REST API sprawiają, że sieć jest lepsza.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-11 15:03:58
Rest-użytkownicy fb (kwadratowy obraz, większy res.): Connection myFriends = fbClient.fetchConnection ("ja/znajomi", User.Klasa, parametr.with("fields", " public_profile, email, first_name, last_name, gender, picture.Szerokość (100)wysokość(100)"));
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-04 11:51:00
Myślę, że od teraz jedynym sposobem na uzyskanie dużych zdjęć znajomych jest użycie FQL. Po pierwsze, musisz pobrać listę znajomych:
Https://graph.facebook.com/me/friends
Następnie przeanalizuj tę listę i wyodrębnij wszystkich znajomych ids
. Gdy już to masz, po prostu wykonaj następujące zapytanie FQL:
SELECT id, url FROM profile_pic WHERE id IN (id1, id2) AND width=200 AND height=200
200
Oto tylko przykładowy rozmiar, możesz wprowadzić wszystko. Powinieneś otrzymać następującą odpowiedź:
{
"data": [
{
"id": ...,
"url": "https://fbcdn-profile-a.akamaihd.net/..."
},
{
"id": ...,
"url": "https://fbcdn-profile-a.akamaihd.net/..."
}
]
}
Z każdym adresem URL jest odnośnikiem do 200x200px obraz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-16 13:20:16
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-15 07:09:14
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-28 21:28:30
Js styled variant. Wystarczy ustawić ogromną dużą szerokość obrazu, a otrzymasz największy wariant.
FB.api(
'/' + userId,
{fields: 'picture.width(2048)'},
function (response) {
if (response && !response.error) {
console.log(response.picture.data.url);
}
}
);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-30 09:08:56
Możesz użyć full_picture zamiast picture key, aby uzyskać pełny rozmiar obrazu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-26 13:22:13
Możesz określić szerokość i wysokość w zapytaniu do interfejsu API Facebook graph: http://graph.facebook.com/user_id/picture?width=500&heigth=500
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-18 09:53:48