2017-09-12 4 views
0

Ich erstelle eine App, die Giigle Drive API verwendet. Das Google-Dokument besagt, dass es ein Limit für Zugriffstoken gibt, die pro Client-Benutzer-Kombination ausgegeben werden. Es wird gesagt, 15, 20, 50. (Ich weiß nicht genau Nummer)Limit für Zugriffstoken

Aber in meinem Fall scheint die Grenze der Anzahl nur eins zu sein.

Ich habe meine App auf mehreren Android-Geräten installiert. Die erste Maschine kann gleichzeitig Zugriffstoken und Aktualisierungstoken erhalten. Aber im Falle der zweiten und nach, kann nur Access-Token erworben werden. , d.h. kein Refresh-Token.

Weiß jemand, wie man das Problem löst oder die Zahl erhöht?

==============================================

Sep.13 2017

Vielen Dank "Tanaike" für die freundliche Beratung. Meine Erklärung war nicht gut. (weil ich nicht englischer Muttersprachler bin.)

Wie auch immer, lassen Sie mich noch einmal erklären.

Hier habe ich drei Android-Telefone, #A, #B, #C. Und ich habe meine App für alle installiert.

Zunächst sendet #A eine Anfrage für das Zugriffstoken an Google. Dann erlaube ich die Anfrage für mein Google-Konto [email protected] Dann kann #A Zugangstoken erhalten und Token aktualisieren.

Als nächstes versucht #B dasselbe mit dem gleichen Konto [email protected] Dann kann #B Zugriffstoken erhalten, aber kein Aktualisierungstoken.

Und als nächstes versucht #C das Gleiche. Dann kann #C Zugriffstoken erhalten, aber kein Aktualisierungstoken.

In einer solchen Situation kann #A ein anderes Zugriffstoken erhalten, bevor es abgelaufen ist. #B und #C können jedoch kein neues Zugriffstoken erhalten. Sie müssen nur warten, wenn das Zugriffstoken abgelaufen ist.

Das hätte ich gerne schreiben.

Grüße,

======================================== ======

Sep.18 2017

Danke "Tanaike". Ich konnte dieses Thema für eine Weile nicht berühren, sorry. Ich habe versucht "access_type = offline" ..... aber in der Tat habe ich festgestellt, dass ich "access_type = offline" von Anfang an bereits enthalten.

Also, das heißt, nachdem #A refreshtoken, #B, #C und später Maschinen können nicht erhalten refresh-Token , obwohl "access_type = offline". Dies ist ein bedauerliches Ergebnis. Ich würde gerne wissen, wie man jedem Gerät ein Refresh-Token zur Verfügung stellt.

==============================================

+0

Kann ich für jedes Gerät nach den detaillierten Informationen zur Methode zum Abrufen von Zugriffstoken fragen? Was sind die Materialien zum Abrufen des Zugriffstokens? – Tanaike

+0

Wenn Sie meine Kommentare nicht verstehen konnten, können Sie mir das gerne sagen. – Tanaike

+0

Mein Prozess, um Access-Token zu verlangen, ist das unten. ------------------------------------------------- --------- Endpunkt: https://www.googleapis.com/oauth2/v4/token Körper code = (Auth-Code) grant_type = authorization_code client_id = (meine App-Client-ID) client_secret = (Clientgeheimnis meiner App) redirect_uri = (Pfad der Seite in meiner Domain) ---------------------------- ------------------------------ – Seizo

Antwort

0
  • Wenn es das Zugriffstoken mit Aktualisierungs-Token abruft, die Aktualisierungs-Token wird in der Antwort nicht enthalten.
  • Das von Google OAuth2 abgerufene Aktualisierungs-Token hat keine Ablaufzeit. Solange Sie das Aktualisierungstoken nicht widerrufen, können Sie es weiterhin verwenden. Die Ablaufzeit des Zugriffstokens beträgt 3600 Sekunden.
  • Beispielsweise ruft es das Zugriffstoken unter Verwendung des Aktualisierungstokens "A" ab. Danach wird das Zugriffstoken unter Verwendung des Aktualisierungstokens "A" bald wieder abgerufen. Obwohl Sie zwei Zugriffstoken haben, können Sie damit beide Zugriffstoken verwenden. Es ist möglich, Zugriffstoken mit einem Aktualisierungstoken zu erhöhen, indem Sie dies wiederholen. Aber ich weiß nicht, ob das der richtige Weg für Google-Nutzer ist.

Aber bei der zweiten und nach können nur zugriffs Token erworben werden. d.h. kein Refresh-Token.

Sie haben bereits Refresh-Token von Ihrer Frage. Sie können damit das Zugriffstoken abrufen. Wenn das Aktualisierungs-Token in jeder Situation in jedem Computer vorhanden ist, können sie das Zugriffstoken mit diesem abrufen.

Wenn ich deine Frage falsch verstehe, tut mir leid.

Verwandte Themen