Wie erhält man Zugriffstoken, nachdem der Nutzer von Google Mail in Android aus angemeldet ist?
Ich bin nach Google Sign-in für Android. Jetzt kann ich die idToken aber meine back-end-server, dass ich früher erwartet access Token wie ich war mit Google+ Anmelden früher. Jetzt will ich nicht mehr ändern mein server-Seite. Aber immer noch, wie kann ich mit Google Anmelden bei und Holen Sie sich den access Token in meine android-app, so dass ich überprüfen kann, ob meine user zu meiner back-end-server.
War ich mit GooglePlay Service 7.5.0 zuvor und jetzt bin ich mit GooglePlay Service neueste 8.3.0.
InformationsquelleAutor der Frage aman.nepid | 2015-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren Anforderungen entsprechen, können Sie den folgenden code verwenden:
Erstens, stellen Sie sicher, Sie haben eine gültige Web OAuth 2.0-Client-ID:
Dann im Activity-Klasse:
Können Sie den gesamten code in der folgenden ServerAuthCodeActivity.java
Das Ergebnis, wenn Sie die Probe sieht aus wie der folgende screenshot:
Dann können Sie die genannten Schritte bei der Google-Dokumentation unten (aus Schritt #3. Senden Sie den auth-code zur app-backend über HTTPS POST):
UPDATE: aus den Kommentaren, wenn Sie wollen, to get access-token direkt vom android-client-app, bitte verwenden Sie den folgenden Beispielcode (ersetzt mit Ihrem client_id, client_secret, und der auth-code)
Nutzen Sie bitte
compile 'com.squareup.okhttp:okhttp:2.6.0'
(ver-3-RC1 haben verschiedene Klassen)Mit einer erfolgreichen Reaktion, müssen Sie die folgenden Informationen in logcat:
InformationsquelleAutor der Antwort BNK
BNK hat es spot on für die meisten Teil. Die Activity-Klasse ist die gleiche wie BNKs Antwort nur mit dem hinzufügen der OkHttp Teil sobald Sie den
GoogleSignInAccount
imonActivityResult()
Methode.Aber ich war noch immer Fehler mit OkHttp Anfrage Teil. Endlich, nach ein wenig testen(und ein Teil Glück) um in Briefträger, fand ich, dass ich fehlte die id_token-parameter. Die OkHttp-Anforderung fehlt einer der parameter, die ich.e die id_token. Mit dem ID-token, die Sie von der GoogleSignInAccount so etwas
Nun diese idTokenString zusammen mit allen Parametern, die in die OkHttp Teil des BNK Antwort etwas wie dieses
Die Antwort die man bekommt ist die gleiche wie BNKs Antwort
Senden jetzt diesen access_token zu Ihrem backend-server zu authentifizieren, wie Sie früher während der Zeiten der GoogleAuthUtil und PlusAPI.
Hoffe, das hilft 🙂 Besonderen Dank an BNK!
InformationsquelleAutor der Antwort Narayan Acharya
Falls jemand anderes Probleme hat die Letzte Anfrage zu greifen, die access token von google. unten ist eine getestete und funktionierende Ansatz von 11-01-2018. Mit retrofit2.
Erste von allen, Hier ist der link zum google doc über die token-exchange Endpunkt : https://developers.google.com/identity/protocols/OAuth2WebServer#exchange-authorization-code
Dann rufen Sie es wie folgt :
InformationsquelleAutor der Antwort Kehinde Adedamola Shittu