Błędy mogą występować w różnych warstwach. Powiadomienia możesz otrzymywać 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, takie jak client_id lub scope, w konsoli JavaScript przeglądarki pojawi się komunikat o błędzie.

Rozwiązywanie błędów konfiguracji OAuth
Aby rozwiązać niektóre błędy, może być konieczne wprowadzenie zmian w Konsoli interfejsów API Google.
- Tworzy identyfikator klienta, jeśli jeszcze go nie ma.
- W przypadku interfejsu wyskakującego okienka dodaj do parametru
Authorized JavaScript origins
wszystkie domeny, które mogą wywoływać bieżący proces. - W przypadku przekierowania UX dodaj wszystkie adresy URL, które mogą otrzymywać odpowiedzi autoryzacyjne, do sekcji
Authorized redirect URIs
. - Skonfiguruj prawidłowo ekran zgody OAuth.
- Prześlij aplikację do weryfikacji, jeśli jest to wymagane.
- Może być konieczne podjęcie dodatkowych działań, aby spełnić wymagania zasad Google dotyczących 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 komunikatem o błędzie jako parametrem. Oto przykładowa odpowiedź na błąd OAuth.
{ "error":"access_denied" }
Przykłady obejmują:
- Użytkownik odrzuca żądanie OAuth.
- W przypadku żądania OAuth z parametrem
prompt=none
użytkownik nie jest jeszcze uwierzytelniony i nie skonfigurował wcześniej zgody na żądane zakresy.
Ten przykład pokazuje, jak obsługiwać odpowiedzi OAuth dotyczące powodzenia i błędu:
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
Błędy niezwiązane z OAuth
OAuth nie określa zachowań w przypadku:
- nie otwiera się wyskakujące okienko.
- okno wyskakujące zostanie zamknięte, zanim zostanie zwrócona odpowiedź OAuth.
Biblioteka przechwytuje te błędy i w razie potrzeby wywołuje funkcję error_callback
. Sprawdź typ błędu. W przeciwnym razie logika kodu może ulec zmianie, 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
});