Pracuję nad CMS, który pobiera zdjęcie profilowe użytkownika z jego adresu URL na Facebooku (czyli http://facebook.com/users_unique_url ). Jak mogę to osiągnąć? Czy istnieje wywołanie API Faceboook, które pobiera adres URL obrazu profilu użytkownika bez konieczności zezwolenia aplikacji?
257
?type=large
kwerenda, którą możesz dodać. Rekwizyty za wymyślenie o wiele lepszej odpowiedzi niż ekranowanie, które pisałem, BTW :).<img src="//graph.facebook.com/sarfraz.anees/picture" />
jeśli zmieniasz pomiędzy HTTP i HTTPS ... protokół jest wykrywany przez przeglądarkę, a ostrzeżenia o mieszanej zawartości nie będą wyświetlane w HTTPS.Pokazywać:
50 x 50 pikseli
200 pikseli szerokości
Aby zapisać (używając PHP)
UWAGA: Nie używaj tego . Zobacz komentarz @ Foreever poniżej.
Gdzie $ fid to identyfikator użytkownika na Facebooku.
UWAGA: W przypadku obrazów oznaczonych jako „18+” będziesz potrzebować prawidłowego tokena dostępu od użytkownika 18+:
AKTUALIZACJA 2015:
Graph API v2.0 nie może być przeszukiwany przy użyciu nazw użytkowników, powinieneś
userId
zawsze używać .źródło
AKTUALIZACJA :
Od końca sierpnia 2012 r. Interfejs API został zaktualizowany, aby umożliwić pobieranie zdjęć profilów użytkownika w różnych rozmiarach. Dodaj opcjonalne pola szerokości i wysokości jako parametry adresu URL:
gdzie
WIDTH
i jakieHEIGHT
są żądane wartości wymiarów.Spowoduje to zwrócenie zdjęcia profilowego o minimalnym rozmiarze
WIDTH
xHEIGHT
podczas próby zachowania proporcji. Na przykład,zwroty
ZAKOŃCZ AKTUALIZACJĘ
Aby uzyskać zdjęcie profilowe użytkownika, zadzwoń
gdzie
USER_ID
może być numer identyfikacyjny użytkownika lub nazwa użytkownika.Aby uzyskać zdjęcie profilowe użytkownika o określonym rozmiarze, zadzwoń
gdzie
SIZE
należy zastąpić jednym ze słóww zależności od pożądanego rozmiaru.
To wywołanie zwróci adres URL do pojedynczego obrazu o rozmiarze zależnym od wybranego parametru typu.
Na przykład:
zwraca adres URL małej wersji obrazu.
Interfejs API określa tylko maksymalny rozmiar obrazów profilowych, a nie rzeczywisty rozmiar.
Plac:
Mały
Normalna
Duży
Jeśli zadzwonisz na domyślny identyfikator / zdjęcie USER, otrzymasz typ kwadratu.
WYJAŚNIENIE
Jeśli zadzwonisz (jak w powyższym przykładzie)
zwróci odpowiedź JSON, jeśli używasz jednej z metod żądania Facebook SDK . W przeciwnym razie zwróci sam obraz. Aby zawsze pobrać JSON, dodaj:
tak:
źródło
&redirect=false
powrotu danych JSON zamiast przekierowania do obrazuAby uzyskać adres URL obrazu, NIE zawartość binarną:
Musisz użyć swojego identyfikatora FACEBOOK, NIE NAZWA UŻYTKOWNIKA. Możesz dostać tam swój identyfikator na Facebooku:
http://findmyfbid.com/
źródło
Prosty jednoliniowy kod do zapisania obrazu profilu w PEŁNYM rozmiarze na serwerze.
Działa to tylko wtedy, gdy openssl jest włączony w php.ini.
źródło
Dodał to jako komentarz do zaakceptowanej odpowiedzi, ale uznał, że zasługuje na dłuższe wyjaśnienie. Począwszy od kwietnia 2015 r. Prawdopodobnie zostanie to podniesione kilka razy.
Począwszy od wersji V2 interfejsu API, zaakceptowana odpowiedź nie działa już przy użyciu nazwy użytkownika. Więc teraz potrzebujesz najpierw identyfikatora użytkownika i nie możesz już używać nazwy użytkownika, aby to uzyskać. Aby jeszcze bardziej skomplikować sprawy, ze względu na prywatność, Facebook zmienia teraz identyfikator użytkownika na aplikację (patrz https://developers.facebook.com/docs/graph-api/reference/v2.2/user/ oraz https: //developers.facebook .com / docs / apps / upgrade / # upgradeading_v2_0_user_ids ), więc będziesz musiał mieć jakieś odpowiednie uwierzytelnienie, aby pobrać identyfikator użytkownika, którego możesz użyć. Technicznie zdjęcie profilowe jest nadal publiczne i dostępne pod adresem / userid / picture (patrz dokumenty na https://developers.facebook.com/docs/graph-api/reference/v2.0/user/picture i ten przykładowy użytkownik: http: //graph.facebook.com/v2.2/4/picture?redirect=0), jednak ustalenie standardowego identyfikatora użytkownika wydaje się niemożliwe na podstawie jego profilu - Twoja aplikacja musiałaby skłonić go do zatwierdzenia interakcji z aplikacją, która w moim przypadku (po prostu pokazując zdjęcie profilowe obok linku do profilu FB) jest nadmierna.
Jeśli ktoś wymyślił sposób, aby uzyskać zdjęcie profilowe na podstawie nazwy użytkownika, lub alternatywnie, jak uzyskać identyfikator użytkownika (nawet alternatywny) do pobrania zdjęcia profilowego, udostępnij! W międzyczasie stary adres URL wykresu nadal działa do kwietnia 2015 r.
źródło
Jednym ze sposobów jest użycie kodu Gamlet opublikowanego w jego odpowiedzi:
Zapisz to jako
curl.php
Następnie w twoim pliku:
Pomyślałem, że to opublikuję, ponieważ zajęło mi to trochę czasu, aby dowiedzieć się o szczegółach ... Mimo że zdjęcia profilowe są publiczne, nadal musisz mieć token dostępu, aby go zdobyć, gdy go zwiniesz .
źródło
Jest na to sposób;)
Dzięki „ http://it.toolbox.com/wiki/index.php/Use_curl_from_PHP_-_processing_response_headers ”:
źródło
Działające rozwiązanie PHP (HTTP GET) od kwietnia 2015 r. (Bez zestawu SDK PHP 5):
Możesz zmienić „typ” w parametrze:
Plac:
Mały
Normalna
Duży
źródło
Myślałem - może ID będzie użytecznym narzędziem. Za każdym razem, gdy użytkownik utworzy nowe konto, powinien otrzymać wyższy identyfikator. Poszukałem go i stwierdziłem, że istnieje metoda oszacowania daty utworzenia konta według ID, a Massoud Seifi z metadatascience.com zebrał kilka dobrych danych na ten temat.
Przeczytaj ten artykuł:
http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/
A oto kilka identyfikatorów do pobrania:
http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/
źródło
Wpis na blogu Grab the Picture of a Facebook Graph Object może oferować inną formę rozwiązania. Użyj kodu z samouczka wraz z interfejsem API Graph Facebooka i biblioteką PHP SDK.
... I staraj się nie używać file_get_contents (chyba że jesteś gotowy na stawienie czoła konsekwencjom - patrz file_get_contents vs. curl ).
źródło
Czy martwi Cię rozmiar zdjęcia profilowego? w momencie wdrażania logowania do Facebooka przy użyciu PHP. Pokażemy ci prosty sposób na uzyskanie dużego zdjęcia profilowego w Facebook PHP SDK. Możesz również uzyskać obraz o niestandardowym rozmiarze profilu na Facebooku.
Ustaw wymiar zdjęcia profilowego, używając następującego wiersza kodu.
$ userProfile = $ facebook-> api ('/ me? fields = picture.width (400) .height (400)');
sprawdź ten post: http: //www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/
źródło
@NaturalBornCamper,
Niezły kod! Oto funkcja czystego kodu dla takiego procesu!
Spowoduje to zwrócenie surowego adresu URL obrazu awatara na Facebooku. W takim razie możesz robić z nim, co chcesz!
źródło
Możesz uzyskać identyfikator URI profilu za pomocą internetowego narzędzia do znajdowania identyfikatorów na Facebooku
Możesz także przekazać parametr param z możliwymi wartościami small, normal, large, square.
Zapoznaj się z oficjalną dokumentacją
źródło