google-api plus - Google+Profilbild-URL mit user_id abrufen





button generator (9)


UPDATE: Google hat die Unterstützung für diese Methode gestoppt, die jetzt einen Fehler 404 (nicht gefunden) zurückgibt .

Alle diese URLs holen das Profilbild eines Benutzers:

https://www.google.com/s2/photos/profile/{user_id}
https://plus.google.com/s2/photos/profile/{user_id}
https://profiles.google.com/s2/photos/profile/{user_id}

Sie verweisen auf dieselbe Bild-URL, die Sie von Google API erhalten, einen hässlichen Link als
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAI/AAAAAAAAAAA/ooSNulbLz8U/photo.jpg

Am einfachsten ist es, die Bildquelle direkt zu verwenden:

<img src="https://www.google.com/s2/photos/profile/{user_id}">

Andernfalls können Sie, um genau die URL eines Google API-Aufrufs zu erhalten, Bildkopfzeilen lesen.
zum Beispiel in PHP:

$headers = get_headers("https://www.google.com/s2/photos/profile/{user_id}", 1);
echo "<img src=$headers[Location]>";

wie im Artikel beschrieben, holen Sie sich Google Plus Profilbild mit PHP .

Ich weiß, dass viele Social-Network-APIs eine Möglichkeit bieten, eine URL für das Profilbild eines Benutzers mit ihrer Benutzer-ID oder ihrem Benutzernamen zu erstellen. Für Facebook sieht das so aus:

http://graph.facebook.com/user_id/picture?type=square

Jetzt gibt es so etwas für Google Plus? Oder eine andere Möglichkeit, User-Bild ohne einen API-Aufruf zu bekommen ??




Wenn Sie das Profilbild für den aktuell angemeldeten Benutzer anzeigen möchten, müssen Sie nicht einmal die {user_id} kennen. Es genügt, https://plus.google.com/s2/photos/profile/me zu verwenden.




Habe alles Mögliche versucht .. hier ist das letzte Stück Arbeitscode. Hoffe es hilft jemandem, der danach sucht.

    <?
$url='https://www.googleapis.com/plus/v1/people/116599978027440206136?fields=image%2Furl&key=MY_API_KEY&fields=image';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$d = json_decode($response);
$avatar_url = $d->{'image'}->{'url'};
echo $avatar_url;
?>



Ansatz 1: (funktioniert nicht mehr)

https://plus.google.com/s2/photos/profile/<user_id>?sz=<your_desired_size>

Approach 2: (jede Anfrage zählt in Ihrem API-Limit, das ist 10k Anfragen pro Tag kostenlos)

https://www.googleapis.com/plus/v1/people/<user_id>?fields=image&key={YOUR_API_KEY}

mit folgendem Antwortformat:

{ "image": { "url": "lh5.googleusercontent.com/-keLR5zGxWOg/.../photo.jpg?sz=50"; } }

Approach 3: (donot benötigen API-Schlüssel)

http://picasaweb.google.com/data/entry/api/user/<user_id>?alt=json

In der JSON-Antwort erhalten Sie eine Eigenschaft namens "gphoto $ thumbnail", die die Profilbild-URL wie folgt enthält:

http://lh6.ggpht.com/-btLsReiDeF0/AAAAAAAAAAI/AAAAAAAAAAA/GXBpycNk984/s64-c/filename.jpg

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 "s64-c" -Teil entfernen und den "? Sz = 100" -Parameter anhängen, funktioniert das auch ab sofort. Dies ist zwar keine sehr gute Möglichkeit, das Profilbild eines gplus-Benutzers zu erhalten, aber der Vorteil ist, dass es keinen API-Schlüssel benötigt.







Einfache Antwort: Nein

Sie müssen die Personen-API abfragen und das Profil image.url , um das Foto zu erhalten. AFAIK gibt es kein Standardformat für die URL, die die Benutzer-ID enthält.




Google hat seine Richtlinie 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

Der neue Weg dafür ist

URL anfragen

https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}

Dadurch wird die URL des Google-Profilbilds im JSON-Format wie unten angegeben angezeigt

Antwort :

{
    "image": 
    {
         "url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
    }
}


Weitere Parameter können mit der URL, die Sie von here benötigen, here

Für weitere Details können Sie auch die Frage, wo ich für die gleiche Art von Problem beantwortet habe, überprüfen Wie bekomme ich das Benutzerbild über die Benutzer-ID in Google Plus?

Glückliche Kodierung !!




Sie können die URL für das Profilbild mithilfe der here Methode der Google+ API here . Das erfordert eine zusätzliche Rundreise, ist aber der zuverlässigste Weg, um das Bild zu bekommen.

Sie können technisch auch die URL https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size} die dann zur finalen URL weiterleitet. {id} ist die Google-Nutzer-ID oder einer der alten Google Profiles-Nutzernamen (sie existieren immer noch für Nutzer, die sie hatten, aber ich glaube nicht, dass Sie neue Nutzerprofile erstellen können). {size} ist die gewünschte Größe des Fotos in Pixeln. Ich bin mir fast sicher, dass dies kein dokumentiertes, unterstütztes Feature ist, daher würde ich mich nicht auf etwas Wichtiges verlassen, da es jederzeit ohne Vorankündigung weggehen kann. Aber für schnelle Prototypen oder kleine einmalige Anwendungen kann es ausreichend sein.








google-api google-plus