Erreurs courantes de l'API Google OAuth et Gmail (et comment résoudre chacune d'elles)

Guide OAuth Google

Erreurs courantes de l'API Google OAuth et Gmail (et comment résoudre chacune d'elles)

Chaque développeur qui intègre Gmail ou Google Agenda avec Google OAuth rencontrera au moins une de ces erreurs Google OAuth. Ce guide regroupe les 7 erreurs Google OAuth courantes en un seul endroit, avec la cause exacte et la solution étape par étape pour chacune d'elles. Comprendre ces erreurs Google OAuth vous fera gagner des heures de débogage.

oauth_callback.py
Échange de jetons OAuth Google # import demandes jeton_réponse = requests.post( "https://oauth2.googleapis.com/token", données={ "code": code_autorisation, "identifiant_client": ID_CLIENT, "client_secret": SECRET_CLIENT, "uri_redirection": URI_REDIRECTION, "grant_type": "code_autorisation" } )
erreur : redirect_uri_mismatch
uri_de_redirection_introuvable grant_invalide politique_admin_appliquée accès_refusé portée_invalide
Référence rapide

Référence rapide : toutes les erreurs Google OAuth en un coup d'œil

Un résumé en une seule table de toutes les 7 erreurs Google OAuth abordées dans ce guide - étape où elle se produit, cause racine et lien de correction rapide vers la section détaillée ci-dessous. Marquez cette table comme référence pour le débogage des erreurs Google OAuth en développement ou en production.

Message d'erreur Stage Cause profonde Solution rapide
uri_de_redirection_introuvable Authorization L'URI de redirection dans votre requête ne correspond pas exactement à celui enregistré dans Google Cloud Console Réparez-le
politique_admin_appliquée Authorization Un super administrateur Workspace a restreint les applications ou les étendues OAuth auxquelles les utilisateurs de l'organisation peuvent accorder l'accès Réparez-le
accès_refusé Authorization L'application est en mode de test et l'utilisateur n'est pas un utilisateur de test, ou l'application demande des scopes restreints sans vérification Réparez-le
grant_invalide Rafraîchissement des jetons Le jeton de renouvellement a expiré, a été révoqué ou utilisé plus d'une fois (code d'authentification à usage unique) Réparez-le
Écran de consentement manquant Console Google Cloud La nouvelle interface utilisateur de Google Cloud a déplacé l'écran de consentement OAuth ; elle nécessite également le rôle Propriétaire/Éditeur sur le projet Réparez-le
portée_invalide Authorization URL du champ d'application incorrect ou l'API Google correspondante n'est pas activée dans le projet Réparez-le
Google n'a pas vérifié Authorization L'application utilise des scopes sensibles/restreints mais n'a pas terminé la vérification Google ; le mode test est limité à 100 utilisateurs Réparez-le
uri_de_redirection_introuvable Authorization
Cause profondeL'URI de redirection dans la requête ne correspond pas exactement à une URI enregistrée dans la console Google Cloud
politique_admin_appliquée Authorization
Cause profondeL'administrateur super de l'espace de travail a bloqué l'application ou la portée pour l'organisation
accès_refusé Authorization
Cause profondeApplication en mode test, utilisateur non ajouté comme utilisateur test, ou portée restreinte sans vérification
grant_invalide Rafraîchissement des jetons
Cause profondeLe jeton d'actualisation a expiré (6 mois d'inactivité), a été révoqué ou le code d'authentification à usage unique a été réutilisé
Écran de consentement manquant Console Google Cloud
Cause profondeLa nouvelle interface utilisateur de Google Cloud a déplacé l'écran de consentement OAuth vers "Aperçu OAuth"."
portée_invalide Authorization
Cause profondeURL de portée incorrecte ou API non activée dans le projet
Google n'a pas vérifié Authorization
Cause profondePortées sensibles/restreintes sans vérification ; mode de test avec limite de 100 utilisateurs
Erreur 400

Erreur 400 : redirect_uri_mismatch

C'est l'erreur OAuth Google la plus courante pour les développeurs lors de la mise en place d'une nouvelle intégration. Elle se déclenche pendant l'étape d'autorisation, avant même la délivrance d'un jeton.

Le message d'erreur exact

Erreur 400 : redirect_uri_mismatch L'URI de redirection dans la requête ne correspondait pas à un URI de redirection enregistré. error=redirect_uri_mismatch

Cause

Cause profonde

Google compare le uri_de_redirection paramètre que vous passez dans votre URL d'autorisation avec la liste des URI de redirection autorisées enregistrées dans votre client OAuth dans la console Google Cloud. Même une différence d'un seul caractère - une barre oblique finale, http vs https, ou un port différent - déclenche cette erreur.

Réparez (étape par étape)

Étapes de réparation
1 Ouvrir Console Google Cloud - API et services - Identifiants.
2 Cliquez sur votre ID client OAuth 2.0 pour le modifier.
3 Sous URIs de redirection autorisés, ajoutez l'URI exacte que vous transmettez dans votre code - par exemple. https://yourapp.com/oauth/callback. La valeur doit être identique caractère pour caractère, y compris le schéma, le port et la barre oblique finale.
4 Cliquer Enregistrer. Les modifications peuvent prendre quelques minutes à se propager.
5 Dans votre code, assurez-vous que le uri_de_redirection la valeur que vous transmettez au point d'accès d'autorisation et au point d'accès d'échange de jetons sont identiques.

redirection_uri_mismatch sur localhost

Lors du développement local, enregistrez l'URI localhost exacte que vous utilisez - par exemple http://localhost:3000/callback. Google permet http:// pas seulement https://) pour les URI localhost. Si vous modifiez votre port de développement, n'oubliez pas de mettre à jour l'URI enregistrée.

Gotcha : Origines JavaScript autorisées vs URIs de redirection

Ce sont deux domaines distincts et ils servent des objectifs différents. Les origines JavaScript autorisées sont utilisées pour les flux OAuth côté navigateur (flux implicite, services d'identité Google). Les URI de redirection autorisées sont utilisées pour les flux de code d'autorisation côté serveur. L'ajout d'une URI aux origines JavaScript ne résoudra PAS un problème. uri_de_redirection_introuvable erreur - vous devez l'ajouter au champ des URI de redirection. Un client Google OAuth peut avoir jusqu'à 100 URI de redirection enregistrées.

Erreur 400 / Admin

Erreur 400 : politique_admin_appliquée

Cette erreur n'est pas un bug dans votre code. Il s'agit d'une politique organisationnelle appliquée par un super administrateur Google Workspace. Un développeur ordinaire ne peut pas la corriger seul.

Le message d'erreur exact

Erreur 400 : admin_policy_enforced Votre compte Google ne peut pas être utilisé pour l'autorisation en raison des règlements de votre organisation. Contactez votre administrateur pour plus d'informations. error=admin_policy_enforced

Cause

Cause profonde

Un super administrateur Google Workspace a restreint les applications tierces ou les champs d'application OAuth auxquels les utilisateurs de l'organisation peuvent accorder l'accès. Ceci est configuré via Contrôles d'API Dans la console d'administration Google. Lorsqu'une application n'est pas sur la liste approuvée, tous les utilisateurs de cet espace de travail recevront cette erreur lorsqu'ils tenteront de l'autoriser, quel que soit le statut de vérification de l'application.

Ceci est un conformité et contrôle de sécurité, pas une mauvaise configuration côté développeur. La résolution correcte est toujours côté administrateur.

Corriger (côté admin uniquement)

Étapes pour le super administrateur
1 Se connecter à Console d'administration Google à admin.google.com avec un compte super-administrateur.
2 Naviguer vers Sécurité - Contrôle d'accès et des données - Contrôles d'API.
3 Cliquer Gérer l'accès aux applications tierces.
4 Recherchez l'application par son ID client OAuth ou son nom d'application. Cliquez dessus.
5 Changer le statut d'accès de l'application de Bloqué ou Limitée à Digne de confiance. Cela permet à l'application de demander les portées qu'elle a déclarées.
6 Cliquer Changer Pour confirmer. Les utilisateurs de l'organisation peuvent désormais autoriser l'application.
Remarque : les utilisateurs réguliers ne peuvent pas corriger cela

Un utilisateur qui rencontre politique_admin_appliquée ne peuvent pas le résoudre eux-mêmes. Ils doivent contacter leur administrateur principal Google Workspace et demander que l'application OAuth spécifique soit marquée comme approuvée. Si l'utilisateur est l'administrateur, il peut suivre les étapes ci-dessus. Si le domaine impose une politique stricte "Autoriser des applications spécifiques", l'application doit d'abord être explicitement ajoutée à la liste approuvée avant de pouvoir être définie comme approuvée.

Si vous développez des outils internes et souhaitez éviter complètement le consentement OAuth par utilisateur, un compte de service avec délégation à l'échelle du domaine est l'alternative - consultez nos Compte de service Gmail et guide DWD.

accès_refusé

accès_refusé & " Cette application est bloquée " (application non vérifiée)

Les utilisateurs voient un écran "Cette application est bloquée" ou reçoivent accès_refusé dans le rappel OAuth. Celle-ci a plusieurs causes profondes selon que votre application est encore en mode Test ou qu'elle cible des étendues restreintes.

Le message d'erreur exact

Accès bloqué : [Nom de votre application] n'a pas terminé le processus de vérification de Google error=access_denied -- ou -- Cette application est bloquée. Cette application a tenté d'accéder à des informations sensibles de votre compte Google. Contactez le développeur pour plus d'informations.

Causes

Application en mode test + utilisateur non membre des utilisateurs de test

Tant que votre application OAuth est dans le statut de publication " Test ", seuls les utilisateurs explicitement ajoutés en tant qu'utilisateurs de test peuvent l'autoriser. Tout autre utilisateur recevra immédiatement un accès refusé.

Mode test - limite de 100 utilisateurs atteinte

Le mode test est limité à 100 utilisateurs uniques à la fois. Une fois que vous atteignez 100, les nouveaux utilisateurs ne pourront pas autoriser l'application, même s'ils sont ajoutés.

Portées sensibles ou restreintes sans vérification

Des scopes tels que gmail.modifier ou gmail.envoyer sont des champs d'action sensibles. Les applications qui les demandent doivent suivre le processus de vérification des applications de Google avant que les utilisateurs réels ne puissent y accéder.

Portées restreintes (le plus sévère)

Un petit nombre de scopes (par exemple, l'accès complet à Gmail) sont restreints et nécessitent un audit de sécurité tiers (CASA) en plus de la vérification.

Réparer

Pour le mode de test - ajouter des utilisateurs de test
1 Dans la console Google Cloud, accédez à APIs et services - écran de consentement OAuth.
2 Sous Test utilisateurs, cliquer Ajouter des utilisateurs et ajoutez l'adresse Gmail de chaque utilisateur ayant besoin d'un accès pendant les tests.
3 Enregistrer. L'utilisateur peut maintenant autoriser l'application tout en la laissant en mode Test.
Pour la production - soumettre pour vérification + CASA si nécessaire
1 Assurez-vous que votre écran de consentement OAuth est entièrement rempli : nom de l'application, e-mail de support, URL de la page d'accueil, URL de la politique de confidentialité.
2 Sur la page de l'écran de consentement OAuth, cliquez sur Publier l'application pour passer en Production, ce qui déclenche la soumission de l'examen de vérification pour les scopes sensibles.
3 Pour les périmètres restreints, effectuez une évaluation de sécurité CASA de niveau 2. Voir la Guide complet de configuration pour Google OAuth pour la vérification et le workflow CASA.
grant_invalide

grant invalide : "reconnectez votre compte Gmail"

Le erreur d'octroi non valide de l'API Gmail L'erreur est l'une des plus déroutantes en production – elle se manifeste silencieusement pour un sous-ensemble d'utilisateurs et nécessite un nouveau flux OAuth pour être résolue. Comprendre le cycle de vie du jeton de rafraîchissement est la clé pour la gérer correctement.

Le message d'erreur exact

{"error": "invalid_grant", "error_description": "Le jeton a expiré ou a été révoqué."} -- ou -- {"error": "invalid_grant", "error_description": "Mauvaise requête"}

Cause : le cycle de vie du jeton d'actualisation

6 mois d'inactivité - Google révoque les tokens d'actualisation qui n'ont pas été utilisés pendant 6 mois. Un utilisateur qui a lié son compte puis arrêté d'utiliser votre application obtiendra cette erreur lors de sa prochaine tentative.
L'utilisateur a changé son mot de passe Google - modifier le mot de passe de votre compte Google révoque tous les jetons OAuth existants pour ce compte, y compris les jetons d'actualisation émis pour les applications tierces.
Changement de périmètre lors de la réautorisation - si vous ré-autorisez avec un ensemble de scopes différent de celui de la concession initiale, Google révoque le jeton d'actualisation précédent.
Mode test = expiration du jeton de 7 jours - pendant que votre application est en statut de publication de test, les jetons d'actualisation expirent après 7 jours, quel que soit leur usage. C'est la raison la plus fréquente que voient les développeurs grant_invalide après une semaine de tests.
Code d'autorisation utilisé plus d'une fois – le code d'autorisation renvoyé par Google dans la redirection OAuth est à usage unique. Si vous appelez le point de terminaison du jeton plus d'une fois avec le même code, tous les appels ultérieurs renvoient grant_invalide.

Correction : ré-autoriser avec access_type=offline + prompt=consent

build_auth_url.py
from google_auth_oauthlib.flow import Débit flux = Flow.from_client_secrets_file( 'client_secrets.json', scopes=['https://www.googleapis.com/auth/gmail.readonly'], uri_redirection=URI_REDIRECTION ) # access_type=offline → obtenir un jeton d'actualisation # prompt=consent → impose un nouveau consentement, renvoie toujours un nouveau jeton d'actualisation auth_url, état = écoulement.autorisation_url( type_d'accès='hors ligne', invite'consentement' ) # Enregistrer le NOUVEAU refresh_token fourni dans la réponse L'ancien jeton # n'est désormais plus valide — mettez à jour votre base de données
Nouveau jeton d'actualisation délivré - stockez-le et rejetez l'ancien

Pour éviter grant_invalide en production : toujours utiliser type_accès=hors_ligne et consentement lors de l'initiation du flux OAuth, mettez à jour votre jeton de rafraîchissement stocké chaque fois que l'utilisateur réautorise, détectez grant_invalide erreurs et déclenchez une interface utilisateur de réautorisation élégante (une invite " reconnectez votre compte Gmail "), et sortez votre application du mode Test pour obtenir des jetons permanents.

Ignorer la gestion des jetons de rafraîchissement Développement basé sur OAuth géré par Unipile - aucun cycle de vie de jeton à gérer
Construisez-le avec Unipile
Console Google Cloud

L'écran de consentement OAuth ne s'affiche pas dans la Google Cloud Console

Ceci est la requête de recherche avec le plus grand volume dans ce cluster (plus de 390 recherches par mois). La page " Écran de consentement OAuth " semble avoir disparu de la console Google Cloud pour de nombreux développeurs en 2024-2026 en raison d'une refonte de l'interface utilisateur. Elle n'a pas été supprimée, elle a été déplacée.

Symptôme

Ce que tu vois

Vous ouvrez la console Google Cloud et accédez à API et services, mais l'élément de menu "Écran de consentement OAuth" est manquant ou cliquer dessus vous redirige vers un nouvel "Aperçu d'OAuth" page qui affiche un tableau de bord récapitulatif au lieu du formulaire de configuration attendu.

Causes

1 Google a redessiné la console Google Cloud en 2024 et a déplacé la configuration de l'écran de consentement OAuth dans un nouvel "Aperçu d'OAuth" section sous APIs & Services. Le formulaire de modification directe est maintenant un niveau plus profond.
2 Vous pourriez avoir Rôle de spectateur Au lieu des rôles Éditeur ou Propriétaire sur le projet Google Cloud. Les comptes de rôle Spectateur peuvent voir l'aperçu mais ne peuvent pas accéder au formulaire de configuration de l'écran de consentement.
3 Vous êtes peut-être sur le mauvais projet. Chaque projet a son propre écran de consentement OAuth. Si vous avez plusieurs projets, vérifiez le sélecteur de projet en haut de la console.
4 Vous n'avez pas encore sélectionné de Type d'utilisateur (Interne ou externe) pour l'écran de consentement OAuth. Cette sélection est requise avant que le formulaire de configuration ne soit accessible.

Réparez (étape par étape)

Étapes pour accéder à la configuration de l'écran de consentement OAuth
1 Vérifiez que vous êtes sur le bon projet Google Cloud en utilisant le menu déroulant des projets en haut de la page. Sinon, basculez vers le projet où votre ID client OAuth est configuré.
2 Confirmez votre rôle : allez à IAM & Admin - IAM et vérifiez que vous avez Éditeur ou Propriétaire Le rôle de spectateur ne peut pas modifier l'écran de consentement.
3 Naviguer vers API & Services - Aperçu d'OAuth. Vous verrez une page de résumé.
4 Cherchez le "Modifier l'application" bouton ou le "Image de marque" / "Public" / "Portées" onglets. Ce sont les sections de ce qui était autrefois une seule page de configuration "Écran de consentement OAuth".
5 Si vous n'avez jamais configuré d'écran de consentement OAuth sur ce projet, cliquez Démarrez et choisissez votre type d'utilisateur : Interne (Utilisateurs de l'espace de travail uniquement, aucune vérification nécessaire) ou Externe (tout compte Google, vérification requise pour les champs d'application sensibles).
6 Remplissez tous les champs requis : nom de l'application, e-mail de support et, pour les applications externes : URL de la page d'accueil et URL de la politique de confidentialité.
Petite astuce : vous pouvez également naviguer directement via ce modèle d'URL (remplacez VOTRE_ID_PROJET) : https://console.cloud.google.com/apis/credentials/consent?project=YOUR_PROJECT_ID. Ce lien profond contourne la page de présentation et va directement à la configuration de l'écran de consentement. Pour un guide complet de chaque champ de configuration, de la sélection du type d'utilisateur et du plafond de 100 utilisateurs pour les tests, consultez notre Guide de configuration de l'écran de consentement OAuth.

Des semaines de vérification.
Utilisez La clé d'Unipile et commencez maintenant.

Ne perdez pas de clients en attendant les avis Google. Connectez les comptes Gmail en 5 minutes grâce à nos identifiants développeur pré-vérifiés.

SOC 2 - RGPD - Pas d'examen d'application requis - Passez à votre propre clé à tout moment
CASA certifié Tier 2
connect-gmail.shcurl
# Pas de console Google Cloud. Pas d'avis.# : Connectez n'importe quel compte Gmail en 5 minutes. curl -X POST "https://api.unipile.com/v1/accounts" \ -H " X-API-KEY : $UNIPILE_KEY " \ -d '{ "fournisseur": "GOOGLE_OAUTH", "utiliser_les_identifiants_unipile": true }'
portée_invalide

portée_invalide

Une faute de frappe dans l'URL du champ d'application ou une API désactivée entraînera le rejet de la demande d'autorisation entière par Google avant toute interaction utilisateur.

Le message d'erreur exact

{"erreur": "scope_invalide", "description_erreur": "Certains des champs d'application demandés étaient invalides. {valide=[https://mail.google.com/], invalide=[gmail.readonly]}"} -- ou sur l'URL de l'écran de consentement -- erreur=scope_invalide&description_erreur=Certains+des+champs+dapplication+demands+taient+invalides

Cause

Deux causes profondes courantes : (1) la valeur de portée est un nom court comme gmail.lecture seule au lieu de l'URL complète https://www.googleapis.com/auth/gmail.readonly, soit (2) l'API Gmail (ou toute autre API Google que vous ciblez) n'est pas activée dans le projet Google Cloud.

Portées courantes de Gmail et leurs URL correctes

URL de portée (utilisez l'URL complète) Ce que cela permet Type
https://www.googleapis.com/auth/gmail.readonly Lire tous les messages et fils de discussion Sensible
https://www.googleapis.com/auth/gmail.send Envoyer un e-mail au nom de l'utilisateur Sensible
https://www.googleapis.com/auth/gmail.modify Lire, composer, envoyer, supprimer des fils Sensible
https://mail.google.com/ Accès complet à la boîte aux lettres (IMAP/SMTP) Accès restreint
https://www.googleapis.com/auth/userinfo.email Lire uniquement l'adresse e-mail de l'utilisateur De base
https://www.googleapis.com/auth/gmail.readonly Lire tous les messages et fils de discussion Sensible
https://www.googleapis.com/auth/gmail.send Envoyer un e-mail au nom de l'utilisateur Sensible
https://www.googleapis.com/auth/gmail.modify Lire, composer, envoyer, supprimer des fils Sensible
https://mail.google.com/ Accès complet à la boîte aux lettres (IMAP/SMTP) Accès restreint

Réparer

Étapes pour corriger invalid_scope
1 Vérifiez que vous utilisez URL complet (commence par https://www.googleapis.com/auth/ ou https://mail.google.com/). N'utilisez jamais la forme abrégée comme gmail.lecture seule.
2 Dans la console Google Cloud, accédez à API et services - API et services activés. Rechercher API Gmail et confirmez qu'il est indiqué "Activé". Sinon, cliquez sur Activer.
3 Confirmez que le champ d'application est répertorié sur votre écran de consentement OAuth sous Scopes pour les API Google. S'il manque, ajoutez-le.
4 Re-testez votre URL d'autorisation. Pour une liste complète des champs d'application Gmail valides et leur classification de sensibilité, voir Guide des étendues de l'API Gmail.
Vérification

"Google n'a pas vérifié cette application" et le plafond de 100 utilisateurs

L'écran d'avertissement " Google n'a pas vérifié cette application " apparaît lorsqu'une application non vérifiée demande des scopes sensibles ou restreints. Bien que les utilisateurs puissent continuer en cliquant sur " Avancé " puis sur " Accéder à [nom de l'application] (dangereux) ", cela ne convient pas à la production, et le mode test limite votre application à 100 utilisateurs uniques au total.

Cause

Cause profonde

Lorsque votre application demande des portée sensibles (comme gmail.lecture seule ou gmail.envoyer), Google affiche cet écran d'avertissement à tous les utilisateurs jusqu'à ce que vous ayez terminé l'examen de vérification. Pour les étendues restreintes, vous devez également passer un audit de sécurité tiers (CASA Tier 2).

Lorsque le statut de publication est "En test" (Testing), cet écran d'avertissement s'affiche également pour les utilisateurs de test, et le nombre total d'utilisateurs de test autorisés est limité à 100. Les jetons pour les utilisateurs de test expirent après 7 jours.

Réparer

Chemin vers la production pour les portées sensibles/restreintes
1 Complétez l'écran d'autorisation OAuth : le nom de l'application, l'adresse e-mail de support, l'URL de la page d'accueil et l'URL de la politique de confidentialité doivent tous être fournis.
2 Sur l'écran de consentement OAuth / page d'audience, cliquez Publier l'application (déplace le statut de test à production, déclenchant le flux de vérification de Google).
3 Pour les champs d'application sensibles : achever Examen de vérification de Google. Cela implique de confirmer votre identité, d'expliquer votre utilisation de chaque portée sensible et de lier une vidéo YouTube démontrant le flux OAuth.
4 Pour les scopes restreints (par exemple. https://mail.google.com/en complément CASA Niveau 2 évaluation de sécurité par un évaluateur approuvé par Google.
5 Pour la configuration complète de l'écran de consentement, la sélection de la portée et le flux de vérification étape par étape, voir le Vérification d'application Google et guide CASA.
Intermédiaire technique indépendant

Ces erreurs disparaissent lorsque le projet OAuth est déjà certifié

L'écran "Google n'a pas vérifié cette application", le plafond de 100 utilisateurs et l'expiration du jeton de 7 jours en mode Test sont tous des symptômes de posséder et gérer votre propre projet Google Cloud. Un intermédiaire technique indépendant qui agit au nom de chaque utilisateur authentifié - et a déjà terminé la certification CASA de niveau 2 - supprime l'intégralité de cette charge de votre côté. Vos utilisateurs autorisent une seule fois ; le cycle de vie des jetons, la conformité des portée et la re-vérification sont gérés au niveau de la plateforme.

Ceci n'est pas une solution de contournement pour l'examen de sécurité de Google. Unipile a terminé indépendamment la CASA Tier 2 et n'est affilié, approuvé ou sponsorisé par Google.

Intégrer sur OAuth Google déjà certifié
Stratégie

Comment éviter cette classe entière d'erreurs Google OAuth

En examinant les 7 erreurs Google OAuth de ce guide, un schéma se dégage. Chacune d'entre elles provient de la même source : la gestion manuelle de votre propre projet Google Cloud et de sa configuration OAuth. Ces erreurs Google OAuth ne sont pas aléatoires – elles sont les conséquences structurelles de la possession d'un projet OAuth non vérifié, des incompatibilités d'URI de redirection et des échecs de rotation de jetons jusqu'au plafond de 100 utilisateurs et aux rejets de l'écran de consentement.

Il existe une autre façon. En utilisant un intermédiaire technique indépendant qui agit au nom de chaque utilisateur authentifié - qui a déjà terminé la revue de vérification de Google et la certification de sécurité CASA de niveau 2 - élimine chacun de ces modes de défaillance de votre responsabilité. La comparaison ci-dessous montre exactement quelles erreurs disparaissent et quelle infrastructure Unipile gère à la place. Voir le Documentation Unipile OAuth Google pour le guide d'intégration complet.

La réparation soi-même vs. Unipile

Chaque erreur dans ce guide : à qui appartient la correction ?

Les 7 erreurs Google OAuth abordées ci-dessus partagent une cause commune : vous possédez le projet Google Cloud, vous possédez donc tous les modes d'échec. Voici un aperçu côte à côte de ce que cela signifie en pratique.

Le réparer soi-même Votre responsabilité
uri_de_redirection_introuvable Gérer toutes les URI de redirection dans la console Google Cloud
politique_admin_appliquée Dépend de l'administrateur Workspace de chaque utilisateur - hors de votre contrôle
accès_refusé / application bloquée Processus de vérification Google + gestion des utilisateurs de test
grant_invalide Créez et maintenez votre propre logique de rotation des jetons d'actualisation
Problèmes d'écran de consentement Configurez et maintenez l'écran de consentement OAuth vous-même
portée_invalide Suivre les étendues restreintes nécessitant une vérification par Google
Application non vérifiée + plafond de 100 utilisateurs Exécutez vous-même la vérification Google et l'évaluation CASA Tier 2
Vous possédez et déboguez tout cela
Avec Unipile supportées
Lien d'authentification hébergé - aucun écran de consentement à configurer Aucune gestion d'URI de redirection, jamais
URIs de redirection gérés pour vous redirect_uri_mismatch ne peut tout simplement pas se produire
Jetons d'actualisation gérés automatiquement Aucune erreur de "reconnectez votre Gmail" n'atteint vos utilisateurs
Se connecter avec la clé OAuth Google déjà certifiée d'Unipile Pas d'avertissement d'application non vérifiée, pas de limite de 100 utilisateurs
CASA certifié Tier 2 Clé OAuth Google d'Unipile - intermédiaire technique indépendant
Évitez de créer et de faire certifier votre propre projet Google Cloud - connectez la boîte Gmail de vos utilisateurs sur la clé déjà certifiée d'Unipile, puis basculez sur la vôtre lorsque vous serez prêt (BYOC)
Accéder aux scopes Gmail restreints sans attendre la fin de votre propre vérification Google
Unipile agit comme un intermédiaire technique indépendant, traitant les requêtes au nom de chaque utilisateur authentifié
Expédiez maintenant sur la clé certifiée d'Unipile - possédez-la plus tard Commencez dès aujourd'hui à connecter les comptes Gmail de vos utilisateurs via la clé Google OAuth certifiée CASA Tier 2 d'Unipile. Exécutez votre propre vérification Google Cloud en parallèle. Lorsqu'elle sera validée, passez à vos propres identifiants avec Bring Your Own Credentials (BYOC) - vos utilisateurs verront votre marque, Unipile continuera de gérer l'infrastructure.
Ces classes d'erreurs ne se produisent tout simplement pas

La distinction clé : Unipile a déjà passé avec succès l'examen de sécurité de Google et l'évaluation CASA de niveau 2 pour les connexions qu'elle négocie en votre nom. Il ne s'agit pas d'une solution de contournement pour l'examen de sécurité de Google - Unipile l'a déjà passé. Vos utilisateurs obtiennent un écran de consentement clair (pas d'avertissement "application non vérifiée"), votre application est déployée immédiatement, et vous pouvez poursuivre votre propre vérification Google Cloud en parallèle sans aucune pression de délais de production.

Intégrez Gmail sans toucher à la Google Cloud Console Liez des comptes Gmail sur la clé OAuth Google déjà certifiée d'Unipile. Aucune configuration d'URI de redirection, aucune logique de rotation de jetons, aucun avertissement d'application non vérifiée pour vos utilisateurs.
Navire sur la clé certifiée d'Unipile

Note de conformité : Unipile est un intermédiaire technique indépendant, non affilié, approuvé ou sponsorisé par Google. Le client OAuth Google d'Unipile est certifié CASA Tier 2, permettant à vos utilisateurs d'autoriser l'accès à Gmail sans avertissement "application non vérifiée" pour les connexions traitées par Unipile. Il ne s'agit pas d'une solution de contournement pour l'examen de sécurité de Google – Unipile l'a déjà passé pour les connexions qu'il traite. au nom de chaque utilisateur authentifié. Les utilisateurs peuvent révoquer l'accès à tout moment via la page des autorisations de leur compte Google.

Unipile - Foire aux questions sur les erreurs Google OAuth

FAQ sur les erreurs Google OAuth

Réponses aux questions les plus courantes sur les erreurs OAuth de Google et les erreurs de l'API Gmail, couvrant le cycle de vie des jetons, les politiques d'administration, les URI de redirection et la configuration de la console Google Cloud.

01 La politique d'administration appliquée

politique_admin_appliquée signifie qu'un super administrateur Google Workspace a bloqué votre application ou les champs d'application OAuth spécifiques qu'elle demande, afin que les utilisateurs de cette organisation ne puissent pas les autoriser. Il s'agit d'une politique de contrôle d'accès organisationnel, et non d'un bug dans votre code. La solution nécessite une action de la part du super administrateur Workspace dans la Google Admin Console sous Sécurité > Contrôles d’API > Gérer l’accès aux applications tierces.

Non. Un utilisateur standard ne peut pas résoudre le problème admin_policy_enforced. Seul un administrateur Google Workspace superadministrateur peut résoudre cette erreur en marquant l'application comme de confiance dans la console d'administration. L'utilisateur concerné doit contacter son administrateur informatique ou son super administrateur Workspace et demander que l'application OAuth spécifique soit ajoutée à la liste approuvée.

Le uri_de_redirection_introuvable sur localhost se produit lorsque l'URI que vous enregistrez dans la Google Cloud Console ne correspond pas exactement à l'URI utilisée par votre serveur de développement local. Par exemple, l'enregistrement http://localhost:3000/callback mais fonctionnant sur le port 3001, ou oubliant une barre oblique finale. Google permet http:// pas seulement https://) pour les URI localhost. Enregistrez l'URI exacte que votre serveur local utilise, y compris le numéro de port correct.

Non. Les origines JavaScript autorisées et les URI de redirection autorisés sont deux champs distincts. Les origines JavaScript sont utilisées uniquement pour les flux OAuth côté navigateur. Pour corriger uri_de_redirection_introuvable, vous devez ajouter l'URI à la URIs de redirection autorisés champ, pas aux origines JavaScript.

Un seul client Google OAuth 2.0 peut avoir jusqu'à 100 URI de redirection autorisés enregistré. Cela vous permet d'enregistrer des URI pour différents environnements (développement local, staging, production) et différents chemins de rappel au sein du même client.

Si votre application est en Test du statut de publication, les jetons d'actualisation de Google expirent après 7 jours quelle que soit l'utilisation. C'est intentionnel pour les applications non vérifiées. Passez au statut Production en cliquant sur Publier l'application sur la page de l'écran OAuth de consentement pour obtenir des jetons de longue durée. En production, les jetons d'actualisation restent valides tant que l'utilisateur utilise votre application au moins une fois tous les 6 mois. Pour une alternative gérée, consultez notre solution Gmail API gérée.

Google révoque les jetons d'actualisation qui n'ont pas été utilisés pendant 6 mois (environ 180 jours). Les jetons sont également révoqués lorsque : l'utilisateur modifie le mot de passe de son compte Google, l'utilisateur révoque l'accès d'une application dans les paramètres de sécurité de son compte Google, vous ré-autorisez avec des champs d'application différents, ou le nombre total de jetons d'actualisation pour une paire utilisateur-application unique dépasse 50 (les plus anciens sont révoqués en premier). Pour une vision complète de la création d'intégrations d'e-mails robustes, consultez notre Guide complet de l'API d'e-mail.

Google a redessiné la Cloud Console en 2024. La configuration de l'écran de consentement OAuth se trouve maintenant dans APIs et services > Présentation d'OAuth. Cliquer Modifier l'application ou utilisez les onglets Branding, Audience et Scopes. Vérifiez également : vous avez besoin Rôle d'éditeur ou de propriétaire sur le projet (le visualiseur ne peut pas accéder au formulaire), et assurez-vous que vous êtes sur le bon projet en utilisant le sélecteur de projet en haut de la console.

Vous rencontrez toujours une erreur Google OAuth qui n'est pas listée ici ? Évitez le débogage et laissez Unipile gérer l'OAuth Gmail pour vous.

Démarrer
fr_FRFR