Des erreurs peuvent se produire à différents niveaux. Vous pouvez recevoir des notifications de différentes manières selon l'endroit où l'erreur se produit.
Paramètres OAuth requis
Si vous oubliez de définir les paramètres OAuth requis, tels que client_id ou scope, un message d'erreur s'affiche dans la console JavaScript de votre navigateur.

Corriger les erreurs de configuration OAuth
Pour résoudre certaines erreurs, vous devrez peut-être apporter des modifications dans la console Google APIs.
- Crée un ID client si ce n'est pas déjà fait.
- Pour l'expérience utilisateur des pop-ups, ajoutez tous les domaines susceptibles de déclencher le flux actuel à
Authorized JavaScript origins
. - Pour l'UX de redirection, ajoutez toutes les URL susceptibles de recevoir des réponses d'autorisation à
Authorized redirect URIs
. - Configurez correctement votre écran de consentement OAuth.
- Si nécessaire, faites valider votre application.
- Vous devrez peut-être effectuer des étapes supplémentaires pour respecter les règles OAuth 2.0 de Google.
Valeurs de paramètre OAuth non valides
Si vous définissez des valeurs non valides pour les paramètres OAuth, comme un ID client, des identifiants de portée ou des valeurs de type de réponse non valides, la page d'erreur OAuth s'affiche.

Réponses d'erreur OAuth
OAuth peut renvoyer une réponse d'erreur. Dans ce cas, votre fonction callback
sera déclenchée avec la réponse d'erreur comme paramètre. Voici un exemple de réponse d'erreur OAuth.
{ "error":"access_denied" }
Par exemple :
- L'utilisateur refuse la requête OAuth.
- Pour une requête OAuth avec le paramètre
prompt=none
, l'utilisateur n'est pas encore authentifié et n'a pas préconfiguré le consentement pour les habilitations demandées.
Cet exemple montre comment gérer les réponses OAuth de réussite et d'erreur :
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
Erreurs non liées à OAuth
OAuth ne définit pas les comportements dans les cas suivants :
- la fenêtre pop-up ne s'ouvre pas.
- la fenêtre pop-up est fermée avant qu'une réponse OAuth ne soit renvoyée.
Cette bibliothèque capture ces erreurs et déclenche error_callback
si elle est définie. Veillez à vérifier le type d'erreur. Sinon, la logique de votre code risque d'être affectée lorsque cette bibliothèque prendra en charge de nouveaux types d'erreurs ultérieurement.
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
});