Ich habe fast jedes Ergebnis der ersten Seite von Google dafür gesucht. Aber ich kann nicht die Antwort finden. Ich arbeite mit einem refresh_token von Google API und empfange:
%Vor%Was ich mache. Erstens: Ich erstelle und verbirg eine persistente Verbindung zur Google API:
%Vor%Grundsätzlich läuft alles und das Token wird in einer Textdatei gespeichert:
%Vor%Wenn ich versuche, den folgenden Code zu verwenden:
%Vor%Ich erhalte den folgenden Fehler: Fehler beim Aktualisieren des OAuth2-Tokens, Nachricht: '{"error": "invalid_grant"}
Sie erhalten einen Fehler "invalid_grant", wenn Sie versuchen, zu aktualisieren, wenn das Token nicht abgelaufen ist.
Statt dessen:
%Vor%Verwenden Sie dies:
%Vor%Sobald Ihr Token abläuft, sollte die Aktualisierung funktionieren.
Das invalid_grant bedeutet entweder, dass der Autorisierungscode bereits verwendet wurde (verfügbar in $GET['code']
) oder der in der Google APIs-Konsole konfigurierte Anwendungstyp ungültig ist.
Achten Sie darauf, dass Sie bei der Registrierung Ihrer App in der Google APIs-Konsole "Web Application" auswählen.
Die Funktion, die für mich funktionierte, ist wie folgt
$ client- & gt; setAccessType ("refresh_token");
Ich stieß auf etwas Ähnliches und das Problem für mich war, dass meine Systemuhr (in der Docker-VM, in der ich den Code ausführte) nicht mit der Echtzeit synchronisiert war. Sie fordern also ein Token mit einem zu weit in der Vergangenheit oder in der Zukunft erstellten Datum an, das OAuth ablehnt.
Ich wurde von dem Bericht hier informiert.
Tags und Links php google-api google-api-php-client