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




button generator (9)

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 ??


Answers

Der Zugriff auf die URL / s2 / profile / photo funktioniert für die meisten Benutzer, aber nicht für alle.

Die einzige vollständige Beweismethode ist die Verwendung der Google+ API. Sie benötigen keine Benutzerauthentifizierung, um öffentliche Profildaten anzufordern, daher handelt es sich um eine recht einfache Methode:

  1. Rufen Sie unter https://cloud.google.com/console einen Google+ API-Schlüssel auf

  2. Machen Sie eine einfache GET-Anfrage an: https://www.googleapis.com/plus/v1/people/+ <Benutzername>? Key =

Notieren Sie das + vor dem Benutzernamen. Wenn Sie stattdessen Benutzer-IDs (die lange Ziffernfolge) verwenden, brauchen Sie das + nicht

  1. Sie erhalten eine sehr umfassende JSON-Darstellung der Profildaten, die Folgendes enthält: "image": {"url": " https://lh4.googleusercontent.com/ ..... der Rest des Bildes URL .... "}

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;
?>

UPDATE: Die folgende Methode funktioniert seit 2015 nicht

Es ist möglich, das Profilbild zu erhalten, und Sie können sogar die Größe des Profils festlegen:

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

Beispiel: Mein Profilbild mit einer Größe von 100 Pixel:

https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100

Verwendung mit einem Image-Tag:

<img src="https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100" width="100" height="100">

Hoffe es funktioniert!


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 !!


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.



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.


Ich habe diese Fehlermeldung erhalten, als ich meine Json-Konfigurationsdatei mit einem neuen Google-Konto aktualisiert habe.

Das Deinstallieren der Anwendung manuell und die Neuinstallation der App hat für mich funktioniert.





google-api google-plus