Frage

Ich versuche, auf einige Google-APIs von meinem JavaScript-Client mit OAuth2 zuzugreifen.Ich bin gelungen, den Benutzer dazu zu bringen, Anfragen zu authentifizieren, aber es gibt etwas Unerwartetes Verhalten, wenn der Code unten ausgeführt wird, den ich verstanden habe.Wenn ich zum ersten Mal auf die Schaltfläche 'autorize' autorize 'klicke, ist das Ergebnis:

'[{"Fehler": {"Code": 401, "Nachricht": "Anmeldung erforderlich", "Daten": [{"Domäne": "Global", "Grund": "Erforderlich", "Nachricht"":" Anmelden erforderlich "," locationType ":" Header "," Ort ":" Authorization "}]}," ID ":" gapirpc "}] '

beim zweiten Klicken das Ergebnis ist

[{"ID": "gapirpc", "Ergebnis": {"ID": "1115793426680xxxx", "E-Mail": "xxxxx@gmail.com", "verifiziert_email": true}}]

Hier ist der Code für die Seite, die ich teste

generasacodicetagpre.

Könnten Sie bitte erklären, warum ich auf der ersten Ausführung des Codes und eine erfolgreiche Authentifizierung bei der zweiten Ausführung ein "Login erforderlich" erhalten würde?

War es hilfreich?

Lösung

Aufgrund der Klammern unmittelbar nach "Authented" im Anruf an GAPI.AUTH.Autorize wird der AUTHED () Callback sofort ausgeführt, vor dem Anruf an GAPI.AUTH.Autorize.

auch in Ihrem authentifizierten () Handler müssen Sie überprüfen, ob die Berechtigungsprüfung mit sofortiger Folgendes: true gelangt; Weitere Informationen finden Sie in der Referenzdokumentation hier:

https://developers.google.com/api- Client-Bibliothek / JavaScript / Referenz / referenziertecs # GAPIAUHAUTHORIZE

Siehe auch auf den Abschnitt in der Popup-Blockierung hier:

https://developers.google.com/api- Client-Bibliothek / Javascript / Funktionen / Authentifizierung # Popup

Wenn die "sofortige" Autorisierung fehlschlägt, wird der berechnete Rückruf mit einem Null-Token-Objekt oder einem Token-Objekt aufgerufen, das ein "Fehler" enthält; In diesen Fällen müssen Sie ein Benutzeroberflächenelement präsentieren, das der Benutzer klicken kann. Dadurch kann das Popup Authorization geöffnet werden, ohne den Popup-Blocker Ihres Browsers auszuführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top