Błędy mogą wystąpić w różnych warstwach. Powiadomienia mogą być wysyłane na różne sposoby w zależności od tego, gdzie wystąpił błąd.
Wymagane parametry OAuth
Jeśli zapomnisz ustawić wymagane parametry OAuth, np. client_id lub scope, w konsoli JavaScript przeglądarki pojawi się komunikat o błędzie.

Naprawianie błędów konfiguracji OAuth
Aby rozwiązać niektóre błędy, może być konieczne wprowadzenie zmian w Konsoli interfejsów API Google.
- Utwórz identyfikator klienta, jeśli jeszcze go nie ma.
- Aby zapewnić użytkownikom wygodę, dodaj do domeny
Authorized JavaScript origins
wszystkie domeny, które mogą wywołać bieżący przepływ danych. - Aby zapewnić użytkownikom wygodę przekierowania, dodaj do pliku
Authorized redirect URIs
wszystkie adresy URL, które mogą otrzymywać odpowiedzi autoryzacyjne. - Skonfiguruj ekran zgody OAuth.
- W razie potrzeby prześlij aplikację do weryfikacji.
- Może być konieczne podjęcie dodatkowych działań, aby zapewnić zgodność z zasadami Google dotyczącymi protokołu OAuth 2.0.
Nieprawidłowe wartości parametrów OAuth
Jeśli ustawisz nieprawidłowe wartości parametrów OAuth, np. nieprawidłowy identyfikator klienta, identyfikatory zakresu lub wartości typu odpowiedzi, zobaczysz stronę błędu OAuth.

Odpowiedzi na błędy OAuth
OAuth może zwrócić komunikat o błędzie. W takim przypadku funkcja callback
zostanie wywołana z odpowiedzią błędu jako parametrem. Poniżej znajduje się przykład odpowiedzi na błąd OAuth.
{ "error":"access_denied" }
Przykłady:
- Użytkownik odrzuca żądanie OAuth.
- W przypadku żądania OAuth z parametrem
prompt=none
użytkownik nie został jeszcze uwierzytelniony i nie wyraził wstępnie zgody na żądane zakresy.
Ten przykład pokazuje, jak obsługiwać odpowiedzi OAuth dotyczące powodzenia i błędów:
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
Błędy inne niż OAuth
OAuth nie definiuje zachowań, gdy:
- nie otwiera się wyskakujące okienko.
- wyskakujące okienko zostanie zamknięte, zanim zwrócona zostanie odpowiedź OAuth.
Ta biblioteka rejestruje te błędy i w razie potrzeby uruchamia error_callback
. Sprawdź typ błędu. W przeciwnym razie logika kodu może zostać naruszona, gdy biblioteka zacznie obsługiwać nowe typy błędów.
function myErrorCallback(err) {
if (err.type == 'popup_failed_to_open') {
// The popup window is failed to open
... ...
} else if (err.type == 'popup_closed') {
// The popup window is closed before an OAuth response is returned
... ...
}
}
const client = google.accounts.oauth2.initCodeClient({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
scope: 'https://www.googleapis.com/auth/calendar.readonly',
ux_mode: 'popup',
callback: myCallback,
error_callback: myErrorCallback
});