Ich weiß, dass viele APIs für soziale Netzwerke eine Möglichkeit bieten, mithilfe ihrer Benutzer-ID oder ihres Benutzernamens eine URL zum Profilbild eines Benutzers zu erstellen. Für Facebook sieht es so aus:
http://graph.facebook.com/user_id/picture?type=square
Gibt es so etwas für Google Plus? Oder eine andere Möglichkeit, das Bild des Benutzers ohne API-Aufruf abzurufen?
google-api
google-plus
ArVan
quelle
quelle
Antworten:
Google hat seine Richtlinien geändert, sodass die alte Methode zum Abrufen des Google-Profilbilds jetzt nicht mehr funktioniert
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
Ein neuer Weg, dies zu tun, ist
URL anfordern
Dadurch wird die URL des Google-Profilbilds im unten angegebenen JSON-Format angezeigt
Antwort :
Weitere Parameter zum Senden mit URL, die Sie möglicherweise von hier aus benötigen
Für weitere Informationen können Sie auch die angegebene Frage überprüfen, bei der ich auf dieselbe Art von Problem geantwortet habe. Wie erhalte ich ein Benutzerbild über die Benutzer-ID in Google Plus?
Viel Spaß beim Codieren !!
quelle
<img>
Tags verwendet werden.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
UPDATE: Die folgende Methode funktioniert seit 2015 nicht mehr
Es ist möglich, das Profilbild zu erhalten, und Sie können sogar die Größe festlegen:
Beispiel: Mein Profilbild mit einer Größe von 100 Pixel:
Verwendung mit einem Bild-Tag:
Ich hoffe, Sie bringen es zum Laufen!
quelle
UPDATE: Google hat die Unterstützung für diese Methode eingestellt, die jetzt einen 404-Fehler (nicht gefunden) zurückgibt .
Alle diese URLs rufen das Profilbild eines Benutzers ab:
Sie leiten zu derselben Bild-URL weiter, die Sie von der Google-API erhalten, einem hässlichen Link wie
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg
Am einfachsten ist es, eine ähnliche Bildquelle direkt zu verwenden:
Andernfalls können Sie Bildheader lesen, um genau die gleiche URL eines Google API-Aufrufs zu erhalten,
beispielsweise in PHP:
wie im Artikel Abrufen von Google Plus-Profilbildern mit PHP beschrieben .
quelle
Ansatz 1: (funktioniert nicht mehr)
Ansatz 2: (Jede Anfrage zählt in Ihrem API-Ratenlimit, dh 10.000 Anfragen pro Tag kostenlos.)
mit folgendem Antwortformat:
Ansatz 3: (kein API-Schlüssel erforderlich)
In der JSON-Antwort erhalten Sie eine Eigenschaft mit dem Namen "gphoto $ thumbnail", die die URL des Profilbilds wie folgt enthält:
Sie können in der URL den Teil "s64-c" bemerken, was bedeutet, dass die Bildgröße 64 ist. Ich habe versucht, andere Werte wie "s100-c" zu verwenden, und sie haben funktioniert. Auch wenn Sie den Teil "s64-c" entfernen und den Parameter "? Sz = 100" anhängen, funktioniert dies ab sofort. Dies ist zwar kein sehr guter Weg, um das Profilbild eines gplus-Benutzers zu erhalten, aber der Vorteil ist, dass kein API-Schlüssel erforderlich ist.
quelle
Google, keine API erforderlich:
// Ausgabebeispiel: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAAI/AAAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg
ÄNDERUNG: die 64 in "s64" für die Größe
quelle
Wenn Sie das Profilbild für den aktuell angemeldeten Benutzer anzeigen möchten, müssen Sie nicht einmal die {Benutzer-ID} kennen. Einfach zu benutzen
https://plus.google.com/s2/photos/profile/me
wird ausreichen.quelle
Sie können die URL für das Profilbild mithilfe der people.get- Methode der Google+ API abrufen . Dies erfordert eine zusätzliche Rundreise, ist jedoch der zuverlässigste Weg, um das Bild zu erhalten.
Sie können auch technisch die URL verwenden,
https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}
die dann zur endgültigen URL umleitet.{id}
ist die Google-Benutzer-ID oder einer der alten Google Profiles-Benutzernamen (sie existieren noch für Benutzer, die sie hatten, aber ich glaube nicht, dass Sie neue erstellen können).{size}
ist die gewünschte Größe des Fotos in Pixel. Ich bin mir fast sicher, dass dies keine dokumentierte, unterstützte Funktion ist, daher würde ich mich bei wichtigen Dingen nicht darauf verlassen, da sie jederzeit ohne vorherige Ankündigung verschwinden kann. Für schnelle Prototypen oder kleine einmalige Anwendungen kann dies jedoch ausreichend sein.quelle
Der Versuch, auf die URL / s2 / profile / photo zuzugreifen, funktioniert für die meisten Benutzer, jedoch nicht für alle.
Die einzige vollständige Beweismethode ist die Verwendung der Google+ API. Sie benötigen keine Benutzerauthentifizierung, um öffentliche Profildaten anzufordern. Dies ist eine recht einfache Methode:
Holen Sie sich einen Google+ API-Schlüssel unter https://cloud.google.com/console
Stellen Sie eine einfache GET-Anfrage an: https://www.googleapis.com/plus/v1/people/+ <Benutzername>? Key =
Beachten Sie das + vor dem Benutzernamen. Wenn Sie stattdessen Benutzer-IDs verwenden (die lange Ziffernfolge), benötigen Sie das + nicht
quelle
Wenn Sie Flutter verwenden, können Sie über den
people.googleapis.com
Endpunkt darauf zugreifen . Der Code verwendet diegoogle_sign_in
BibliothekSie werden so etwas bekommen
Wo
url
ist eine zugängliche Bild-URL?quelle
Ältere Google+ APIs wurden zum 7. März 2019 heruntergefahren. Vor kurzem wurden Änderungen am Abschaltplan vorgenommen, die die Auswirkungen auf einige Entwickler verringern können.
quelle
Versuchte alles mögliche .. hier ist das letzte Stück Arbeitscode. Hoffe, es hilft jemandem, der danach sucht.
quelle
Einfache Antwort: Nein
Sie müssen die Personen-API abfragen und die Daten von profile image.url übernehmen , um das Foto zu erhalten. AFAIK Es gibt kein Standardformat für diese URL, die die Benutzer-ID enthält.
quelle