2017-11-14 6 views
0

Ich versuche, die Aktualisierungs-Token jedes Mal die folgende uri,Erste Auffrischung jedes Mal Token

String link = "https://www.googleapis.com/oauth2/v4/token/?code=" + code + "&" + "client_id=" + client_id + "&" + "client_secret=" + client_secret + "&redirect_uri=" + redirect_uri + "app/email/emailSetupController/gmailutil&" + "grant_type=authorization_code&" + "access_type=offline&" + "approval_prompt=force"; 

genannt wird, erhalten jedoch die approval_prompt=force nicht so funktioniert, wie es jedes Mal, damit die Benutzer die Genehmigung bitten sollten zu bekommen ein Aktualisierungstoken Ich habe auch versucht prompt=consent. Wenn der Benutzer sich bereits im Google Mail-Konto angemeldet hat, wird die Genehmigungsseite nicht angezeigt und die Weiterleitung wird automatisch durchgeführt, was dazu führt, dass das Aktualisierungstoken auf Null gesetzt wird.

+0

Google Mail-API? Ich bezweifle, dass Sie tatsächlich ihre Java-API verwenden, wenn Sie eine solche Zeichenfolge erstellen. Erweitern Sie Ihre Suche mit mehr Zeilen als nur einer Zeichenfolge. Zweitens, haben Sie sich die tatsächliche API-Lib von Google angesehen? https://developers.google.com/gmail/api/quickstart/java – StefanE

+0

Wenn Sie sich dieses [https://github.com/google/oauth2client/issues/453] Problem ansehen, scheint es so zu sein: "approval_prompt = force" ersetzt durch "prompt = consent", haben Sie versucht, nur die letzte Lösung zu verwenden? – Signo

+0

@Signo Ich habe die prompt = Zustimmung versucht. aber es fragt immer noch nicht nach der Seite für die Zustimmung der Benutzer – AJN

Antwort

0

Mein Schlechter, eigentlich ist der obige URI für "Exchange-Autorisierungscode für Refresh- und Zugriffstoken" statt der prompt = Zustimmung soll im ersten Schritt verwendet werden, während die Autorisierungsparameter gesetzt werden Google docs.

Vielen Dank.