Wiem, że wiele interfejsów API sieci społecznościowych umożliwia utworzenie adresu URL do zdjęcia profilowego użytkownika przy użyciu jego identyfikatora użytkownika lub nazwy użytkownika. W przypadku Facebooka wygląda to tak:
http://graph.facebook.com/user_id/picture?type=square
Czy jest coś takiego dla Google Plus? Lub w jakikolwiek inny sposób na uzyskanie zdjęcia użytkownika bez wywołania API?
google-api
google-plus
ArVan
źródło
źródło
Odpowiedzi:
Firma Google zmieniła swoje zasady, więc stary sposób uzyskiwania obrazu profilu Google nie będzie teraz działać, co było
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
Nowy sposób na zrobienie tego to
Poproś o URL
To da URL obrazu profilu Google w formacie json, jak podano poniżej
Odpowiedź:
Więcej parametrów do wysłania z adresem URL, którego możesz potrzebować z tego miejsca
Aby uzyskać więcej szczegółów, możesz również sprawdzić podane pytanie, na które odpowiedziałem na ten sam typ problemu. Jak uzyskać obraz użytkownika za pomocą identyfikatora użytkownika w Google plus?
źródło
<img>
tagu.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
AKTUALIZACJA: Poniższa metoda NIE DZIAŁA od 2015 roku
Możliwe jest pobranie zdjęcia profilowego, a nawet ustawienie jego rozmiaru:
Przykład: moje zdjęcie profilowe o rozmiarze ustawionym na 100 pikseli:
Użycie z tagiem obrazu:
Mam nadzieję, że to działa!
źródło
AKTUALIZACJA: Google przestało obsługiwać tę metodę, która teraz zwraca błąd 404 (nie znaleziono) .
Wszystkie te adresy URL pobierają zdjęcie profilowe użytkownika:
Przekierowują do tego samego adresu URL obrazu, który otrzymujesz z Google API, brzydkiego linku, jak
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg
Najprościej jest bezpośrednio użyć takiego źródła obrazu:
W przeciwnym razie, aby uzyskać dokładnie ten sam adres URL wywołania Google API, możesz przeczytać nagłówki obrazów,
na przykład w PHP:
zgodnie z opisem w artykule Pobieranie zdjęcia profilowego Google Plus za pomocą PHP .
źródło
Podejście 1: (już nie działa)
Podejście 2: (każde żądanie wlicza się do limitów szybkości interfejsu API, czyli 10 000 żądań dziennie za darmo)
z następującym formatem odpowiedzi:
Podejście 3: (nie wymagaj klucza API)
w odpowiedzi json otrzymasz właściwość o nazwie „gphoto $ thumbnail”, która zawiera adres URL zdjęcia profilowego, taki jak następujący:
Możesz zauważyć w adresie URL fragment „s64-c”, co oznacza rozmiar obrazu 64, próbowałem użyć innych wartości, takich jak „s100-c” i zadziałały. Również jeśli usuniesz część „s64-c” i dodasz parametr „? Sz = 100”, będzie on również działał od teraz. Chociaż nie jest to dobry sposób na uzyskanie zdjęcia profilowego użytkownika gplus, ale jego zaletą jest to, że nie wymaga to żadnego klucza API.
źródło
Google, nie jest potrzebny interfejs API:
// Przykład wyników: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg
ZMIANA: 64 w „s64” dla rozmiaru
źródło
Jeśli chcesz pokazać zdjęcie profilowe aktualnie zalogowanego użytkownika, nie musisz nawet znać {user_id}. Wystarczy użyć
https://plus.google.com/s2/photos/profile/me
.źródło
Adres URL zdjęcia profilowego można uzyskać, korzystając z metody people.get interfejsu API Google+. Wymaga to dodatkowej podróży w obie strony, ale jest najbardziej niezawodnym sposobem uzyskania obrazu.
Z technicznego punktu widzenia możesz również użyć adresu URL,
https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}
który następnie przekieruje do końcowego adresu URL.{id}
to identyfikator użytkownika Google lub jedna ze starych nazw użytkowników Profili Google (nadal istnieją dla użytkowników, którzy je mieli, ale nie sądzę, aby można było już tworzyć nowe).{size}
to żądany rozmiar zdjęcia w pikselach. Jestem prawie pewien, że nie jest to udokumentowana, obsługiwana funkcja, więc nie polegałbym na niej w przypadku niczego ważnego, ponieważ może zniknąć w dowolnym momencie bez powiadomienia. Ale w przypadku szybkich prototypów lub małych jednorazowych aplikacji może wystarczyć.źródło
próba uzyskania dostępu do adresu URL / s2 / profile / photo działa dla większości użytkowników, ale nie dla wszystkich.
Jedyną metodą pełnego sprawdzenia jest użycie interfejsu API Google+. Nie potrzebujesz uwierzytelniania użytkownika, aby zażądać danych profilu publicznego, więc jest to dość prosta metoda:
Uzyskaj klucz API Google+ na https://cloud.google.com/console
Prześlij proste żądanie GET na adres : https://www.googleapis.com/plus/v1/people/+ <nazwa użytkownika>? Key =
Zwróć uwagę na znak + przed nazwą użytkownika. Jeśli zamiast tego używasz identyfikatorów użytkowników (długiego ciągu cyfr), nie potrzebujesz znaku +
źródło
Jeśli używasz Fluttera, możesz uzyskać do niego dostęp przez
people.googleapis.com
punkt końcowy, kod używagoogle_sign_in
bibliotekiDostaniesz coś takiego
gdzie
url
jest dostępny adres URL obrazu.źródło
Próbowałem wszystkiego, co możliwe ... oto ostatni fragment działającego kodu. Mam nadzieję, że pomoże to komuś, kto go szuka.
źródło
Rozwiązanie 2020 Prosimy o komentarz, jeśli nie jest już dostępny.
Aby uzyskać adres URL profilu od uwierzytelnionego użytkownika.
Odpowiedź:
a link może służyć jako:
źródło
https://graph.facebook.com/1661794173890082/picture?width=200&height=200
Prosta odpowiedź: nie
Będziesz musiał zapytać API osoby i pobrać dane z profilu image.url, aby uzyskać zdjęcie. AFAIK, nie ma domyślnego formatu dla tego adresu URL, który zawiera identyfikator użytkownika.
źródło