2016-03-24 13 views
0

Mit dem Google+ api ich in der Lage bin alle Informationen über Benutzerprofil zu holen und die Art, wie ich es tue, ist durch eine GET auf die folgende Adresse aufrufen:Wie kann ich das Profilfoto eines Nutzers von Google (und nicht von Google+) abrufen?

https://www.googleapis.com/plus/v1/people/11812536713708...432 
?key=AIzaSyC_bs...gds353le 

Hier Ich setze Benutzerprofil-ID (Google-ID des Benutzers) und meine API-Taste.

Jetzt gibt es zwei Fälle:

1) Benutzer eine Google + Profil einrichten, bevor und dann bin ich eine JSON-Datei mit allen notwendigen Daten (wie sein Profilfoto bekommen, Name usw.)

2) Benutzer hat nicht eingerichtet eine google + Profil vor und ich bin immer jSON-Datei dann wie folgt:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "notFound", 
    "message": "Not Found" 
    } 
    ], 
    "code": 404, 
    "message": "Not Found" 
} 
} 

so in einer Situation, wenn der Benutzer nicht über eine google hat + Konto derzeit nicht in der Lage bin ich um sein Foto zu holen. Gibt es eine Möglichkeit dies zu tun und irgendwie seine Profildaten nicht von Google + zu holen?

In meiner iOS-Anwendung verwende ich eine Google-Anmeldung Funktion und sie bieten eine Möglichkeit zum Abrufen von Daten für den angemeldeten Benutzer (hier sind einige Details https://developers.google.com/identity/sign-in/ios/people#retrieving_user_information) und wenn ich es benutze und bei meiner App mit dem einloggen Account, bei dem Google + nicht aktiviert ist, kann ich immer noch den Namen, das Foto usw. dieses Nutzers abrufen. Er stammt nicht von google +, sondern in diesem Fall vom GIDGoogleUser-Objekt. Aber ich kann dieses Objekt nur aufbauen, wenn der Benutzer mir seinen Benutzernamen und sein Passwort angibt.

Gibt es eine Möglichkeit, diese Daten von einem Google API zu erhalten, indem Sie eine Google-Nutzer-ID und einen API-Schlüssel angeben?

Antwort

0

Versuchen Sie es mit:

https://www.googleapis.com/userinfo/v2/me 

können Sie diese API Explorer mit testen. Ihr OAuth-Token benötigt mindestens den Bereich profile.

+0

Es funktioniert von der API-Explorer, aber wenn ich diese Adresse in ein Browser-Fenster einfügen (und '? Schlüssel = MYAPIKEY' enthalten), bekomme ich' Fehler 401'. Was kann hier falsch sein? – user3766930

0

Es gibt eine API von http://www.avatarapi.com/, die den Namen und das Profilbild des Nutzers basierend auf den öffentlichen Informationen von Google zurückgibt.

Es kann über SOAP oder HTTP an diesem API Endpunkt aufgerufen werden: http://www.avatarapi.com/avatar.asmx

Einer der Vorteile dieser API ist, dass es den Benutzer nicht erforderlich mit Google authentifiziert werden, so könnte dies zu umgehen Ihre Problem, bei dem der Nutzer kein Google+ Konto hat.

Verwandte Themen