Veelvoorkomende Google OAuth & Gmail API-fouten (en hoe u ze kunt oplossen)

Google OAuth-handleiding

Veelvoorkomende Google OAuth & Gmail API-fouten (en hoe u ze kunt oplossen)

Elke ontwikkelaar die Gmail of Google Agenda integreert met Google OAuth, krijgt te maken met minstens één van deze Google OAuth-fouten. In deze handleiding staan alle 7 veelvoorkomende Google OAuth-fouten op één plek verzameld – met de precieze oorzaak en een stapsgewijze oplossing voor elke fout. Als je deze Google OAuth-fouten begrijpt, bespaar je jezelf uren aan foutopsporing.

oauth_callback.py
# Google OAuth-tokenuitwisseling importeer verzoekt token_antwoord = requests.post( "https://oauth2.googleapis.com/token", data={ "code"autorisatiecode, "client_id": CLIENT_ID, "client_geheim": CLIENT_SECRET, "redirect_uri": OMLEIDINGS_URI, "grant_type": "autorisatiecode" } )
fout: redirect_uri_mismatch
redirect_uri_ongelijk ongeldige_verlening admin_beleid_toegepast toegang_geweigerd ongeldige_scope
Snelreferentie

Overzicht: alle Google OAuth-fouten in één oogopslag

Een samenvatting in één tabel van alle 7 Google OAuth-fouten die in deze handleiding worden behandeld - fase waarin deze optreedt, hoofdoorzaak en de link naar de snelle oplossing in de gedetailleerde sectie hieronder. Markeer deze tabel als referentie bij het opsporen van fouten in Google OAuth-fouten in ontwikkeling of productie.

Foutmelding Podium Oorzaak Snelle oplossing
redirect_uri_ongelijk Authorization De redirect URI in uw verzoek komt niet exact overeen met een geregistreerde URI in de Google Cloud Console Repareer het
admin_beleid_toegepast Authorization Een Workspace super admin heeft beperkt welke OAuth-apps of scopes gebruikers in de organisatie toegang mogen verlenen. Repareer het
toegang_geweigerd Authorization De app bevindt zich in de testmodus en de gebruiker is geen testgebruiker, of de app vraagt om beperkte toegangsrechten zonder verificatie Repareer het
ongeldige_verlening Token verversen Vernieuwingstoken verlopen, ingetrokken of meer dan eens gebruikt (eenmalige verificatiecode) Repareer het
Toestemmingsscherm ontbreekt Google cloudconsole Nieuwe Google Cloud UI heeft het OAuth-toestemmingsscherm verplaatst; vereist ook Owner/Editor rol op het project Repareer het
ongeldige_scope Authorization Scope URL typefout of de bijbehorende Google API is niet ingeschakeld in het project Repareer het
Google heeft niet geverifieerd Authorization De app maakt gebruik van gevoelige/beperkte scopes, maar de verificatie door Google is nog niet voltooid; in de testmodus geldt een limiet van 100 gebruikers Repareer het
redirect_uri_ongelijk Authorization
OorzaakURI in verzoek komt niet exact overeen met een geregistreerde URI in Google Cloud Console
admin_beleid_toegepast Authorization
OorzaakWorkspace super administrator heeft de app of scope geblokkeerd voor de organisatie
toegang_geweigerd Authorization
OorzaakApp staat in testmodus, gebruiker is niet toegevoegd als testgebruiker, of er zijn beperkte scopes zonder verificatie
ongeldige_verlening Token verversen
OorzaakVernieuwingstoken verlopen (6 maanden inactiviteit), ingetrokken of eenmalige autorisatiecode werd hergebruikt
Toestemmingsscherm ontbreekt Google cloudconsole
OorzaakNieuwe Google Cloud UI verplaatste het OAuth-verleningsscherm naar "OAuth-overzicht"."
ongeldige_scope Authorization
OorzaakScope URL typfout of API niet ingeschakeld in het project
Google heeft niet geverifieerd Authorization
OorzaakGevoelige/beperkte scopes zonder verificatie; Testmodus limiet van 100 gebruikers
Fout 400

Fout 400: redirect_uri_mismatch

Dit is de meest voorkomende Google OAuth-fout bij ontwikkelaars die een nieuwe integratie instellen. De fout treedt op tijdens de autorisatiefase – nog voordat er een token is uitgegeven.

Het exacte foutbericht

Fout 400: redirect_uri_mismatch De omleidings-URI in het verzoek kwam niet overeen met een geregistreerde omleidings-URI. error=redirect_uri_mismatch

Oorzaak

Oorzaak

Google vergelijkt de omleiding_uri parameter die je doorgeeft in je autorisatie-URL met de lijst van geautoriseerde omleidings-URI's die zijn geregistreerd in je OAuth-client in Google Cloud Console. Zelfs een enkel teken verschil - een afsluitende schuine streep, http vs https, of een andere poort - veroorzaakt deze fout.

Repareer (stap voor stap)

Stappen om te repareren
1 Open Google cloudconsole - API's en Services - Inloggegevens.
2 Klik op uw OAuth 2.0 Client-ID om het te bewerken.
3 Onder Geautoriseerde omleidings-URI's, voeg de exacte URI toe die u in uw code doorgeeft - bijv. https://yourapp.com/oauth/callback. De waarde moet teken-voor-teken identiek zijn, inclusief schema, poort en afsluitende schuine streep.
4 Klik Sla. Wijzigingen kunnen enkele minuten duren om door te voeren.
5 In uw code, zorg ervoor dat de omleiding_uri De waarde die u doorgeeft aan het autorisatie-eindpunt en aan het token-uitwisselingseindpunt zijn identiek.

redirect_uri_mismatch op localhost

Registreer tijdens lokale ontwikkeling de exacte localhost URI die u gebruikt - bijvoorbeeld http://localhost:3000/callback. Google staat http:// niet alleen https://) voor localhost URI's. Als je je dev-poort wijzigt, vergeet dan niet de geregistreerde URI bij te werken.

Begrepen: Geautoriseerde JavaScript-oorsprongen versus omleidings-URI's

Dit zijn twee aparte velden en ze dienen verschillende doeleinden. Geautoriseerde JavaScript-herkomsten worden gebruikt voor OAuth-flows aan de browserzijde (impliciete flow, Google Identity Services). Geautoriseerde omleidings-URI's worden gebruikt voor autorisatiecode-flows aan de serverzijde. Het toevoegen van een URI aan JavaScript-herkomsten zal GEEN redirect_uri_ongelijk fout - u moet het toevoegen aan het veld 'omleidings-URI's'. Een Google OAuth-client kan maximaal 100 omleidings-URI's registreren.

Fout 400 / Beheerder

Fout 400: adm-beleid-afgedwongen

Deze fout is geen bug in je code. Het is een organisatorisch beleid, afgedwongen door een Google Workspace superadministrator. Een gewone ontwikkelaar kan dit niet alleen oplossen.

Het exacte foutbericht

Fout 400: admin_policy_enforced Google Account kan niet worden gebruikt voor autorisatie vanwege het beleid van uw organisatie. Neem contact op met uw beheerder voor meer informatie. error=admin_policy_enforced

Oorzaak

Oorzaak

Een Google Workspace superbeheerder heeft beperkt tot welke externe toepassingen of OAuth-scopes gebruikers in de organisatie toegang mogen verlenen. Dit wordt geconfigureerd via API-besturingselementen in de Google Admin Console. Wanneer een app niet op de lijst met goedgekeurde apps staat, ontvangt elke gebruiker in die Workspace deze foutmelding wanneer deze probeert deze te autoriseren - ongeacht de verificatiestatus van de app.

Dit is een naleving en beveiligingsbeheer, geen verkeerde configuratie aan de kant van de ontwikkelaar. De juiste oplossing is altijd aan de kant van de beheerder.

Herstellen (alleen aan beheerderszijde)

Stappen voor de superadministrator
1 Meld u aan bij de Google Adminconsole op admin.google.com met een super administrator account.
2 Navigeer naar Beveiliging - Toegangs- en gegevensbeheer - API-besturingselementen.
3 Klik Beheer Toegang van Apps van Derden.
4 Zoek de app op met de OAuth Client ID of de applicatienaam. Klik erop.
5 Wijzig de toegangstatus van de app van Geblokkeerd of Beperkt naar Vertrouwd. Dit staat de app toe om de scopes aan te vragen die het heeft gedeclareerd.
6 Klik Verandering Ter bevestiging. Gebruikers in de organisatie kunnen de app nu autoriseren.
Opmerking: reguliere gebruikers kunnen dit niet oplossen

Een gebruiker die tegenkomt admin_beleid_toegepast kunnen het niet zelf oplossen. Ze moeten contact opnemen met hun Google Workspace super admin en vragen of de specifieke OAuth-app als Vertrouwd wordt gemarkeerd. Als de gebruiker de beheerder is, kan deze de bovenstaande stappen volgen. Als het domein een strikt "Alleen specifieke apps toestaan"-beleid afdwingt, moet de app eerst expliciet worden toegevoegd aan de goedgekeurde lijst voordat deze als Vertrouwd kan worden ingesteld.

toegang_geweigerd

access_denied & "Deze app is geblokkeerd" (niet-geverifieerde app)

Gebruikers zien een scherm "Deze app is geblokkeerd" of ontvangen toegang_geweigerd in de OAuth-callback. Dit kan meerdere oorzaken hebben, afhankelijk van of je app nog in de testmodus staat of beperkte scopes target.

Het exacte foutbericht

Toegang geblokkeerd: [Uw app-naam] heeft het Google-verificatieproces niet voltooid fout=access_denied -- of -- Deze app is geblokkeerd. Deze app probeerde toegang te krijgen tot gevoelige informatie in uw Google-account. Neem contact op met de ontwikkelaar voor meer informatie.

Oorzaken

App in testmodus + gebruiker geen testgebruiker

Terwijl je OAuth-app de publicatiestatus "Testen" heeft, kunnen alleen gebruikers die expliciet zijn toegevoegd als testgebruikers deze autoriseren. Iedereen anders krijgt onmiddellijk toegang geweigerd.

Testmodus 100-gebruikerslimiet bereikt

Testmodus is beperkt tot 100 unieke testgebruikers tegelijk. Zodra u 100 bereikt, kunnen nieuwe gebruikers de app niet autoriseren, zelfs niet als ze worden toegevoegd.

Gevoelige of beperkte scopes zonder verificatie

Bereiken zoals gmail-aanpassen of gmail.verzenden zijn Gevoelige bereiken. Apps die erom vragen, moeten het verificatieproces van Google voltooien voordat echte gebruikers toegang kunnen verlenen.

Beperkte bereiken (meest ernstig)

Een klein aantal scopes (bv. volledige Gmail-toegang) is beperkt en vereist naast verificatie ook een externe beveiligingsaudit (CASA).

Repareer

Voor testmodus – voeg testgebruikers toe
1 In de Google Cloud Console, ga naar API's & Services - OAuth-verificatiescherm.
2 Onder Testgebruikers, klik Gebruikers toevoegen en voeg het Gmail-adres toe van elke gebruiker die toegang nodig heeft tijdens het testen.
3 Opslaan. Die gebruiker kan de app nu autoriseren terwijl deze in testmodus blijft.
Voor Productie - indienen voor verificatie + CASA indien nodig
1 Zorg ervoor dat uw OAuth-verificatiescherm volledig is ingevuld: app-naam, ondersteunings-e-mailadres, startpaginauRL, privacybeleid-URL.
2 Klik op de pagina met het OAuth-goedkeuringsscherm op App publiceren om naar de Productie te gaan, wat de indiening van de verificatiebeoordeling voor gevoelige bereiken activeert.
3 Voer voor Restricted scopes een CASA Tier 2 beveiligingsbeoordeling uit. Zie de Volledige Google OAuth-installatiegids voor de verificatie en CASA workflow.
ongeldige_verlening

ongeldige_toekenning: "verbinding je Gmail-account opnieuw"

De gmail api ongeldige toekenning Foutmeldingen zijn een van de meest verwarrende aspecten van productie - ze werken stilzwijgend voor een subset van gebruikers en vereisen een nieuwe OAuth-stroom om te herstellen. Inzicht in de levenscyclus van de vernieuwingstoken is de sleutel om dit correct af te handelen.

Het exacte foutbericht

{"fout": "ongeldige_toekenning", "fout_omschrijving": "Token is verlopen of ingetrokken."} -- of -- {"fout": "ongeldige_toekenning", "fout_omschrijving": "Verzoek ongeldig"}

Oorzaak: de levenscyclus van de vernieuwingstoken

6 maanden inactiviteit - Google herroept vernieuwingstokens die 6 maanden niet zijn gebruikt. Een gebruiker die zijn account koppelde en daarna stopte met het gebruiken van je app, krijgt deze foutmelding bij de volgende poging.
Gebruiker heeft wachtwoord Google gewijzigd - het wijzigen van het Google-accountwachtwoord deactiveert alle bestaande OAuth-tokens voor dat account, inclusief vernieuwingstokens die zijn uitgegeven aan apps van derden.
Wijziging van de omvang bij herautorisatie - als je opnieuw autoriseert met een andere reeks bereiken dan de oorspronkelijke machtiging, int Google het vorige vernieuwingstoken in.
Testmodus = 7 dagen token verlopen - terwijl uw app de status "In testen" heeft, verlopen vernieuwingstokens na 7 dagen, ongeacht het gebruik. Dit is de meest voorkomende reden die ontwikkelaars zien ongeldige_verlening na een week testen.
Autorisatiecode meer dan eens gebruikt - de autorisatiecode die Google retourneert in de OAuth-redirectie kan slechts één keer worden gebruikt. Als u de token-endpoint meer dan eens aanroept met dezelfde code, retourneren alle volgende aanroepen ongeldige_verlening.

Reparatie: opnieuw autoriseren met access_type=offline + prompt=consent

build_auth_url.py
van google_auth_oauthlib.flow importeer Stroom stroming = Flow.from_client_secrets_file( 'client_secrets.json', scopes=['https://www.googleapis.com/auth/gmail.readonly'], redirect_uri=REDIRECT_URI ) # access_type=offline → een vernieuwingstoken ophalen # prompt=consent → dwingt tot hernieuwde toestemming, geeft altijd een nieuw vernieuwingstoken terug auth_url, staat = stroom.autorisatie_url( toegangstype='offline', prompt='toestemming' ) # Sla het NIEUWE refresh_token uit het antwoord op Het oude #-token is nu ongeldig -- werk je database bij
Nieuwe verversingstoken uitgegeven - bewaar deze en gooi de oude weg

Te vermijden ongeldige_verlening in productie: altijd gebruiken access_type=offline en toestemming bij het starten van de OAuth-flow, werkt u uw opgeslagen vernieuwingstoken telkens bij wanneer de gebruiker opnieuw autoriseert, detecteert u ongeldige_verlening fouten veroorzaken en een soepele herautorisatie-interface (een prompt om "uw Gmail-account opnieuw te verbinden") activeren, en uw app uit de testmodus halen om permanente tokens te verkrijgen.

Vernieuwings-tokenbeheer overslaan Bouw voort op Unipile's beheerde OAuth - geen token levenscyclus om af te handelen
Bouw het met Unipile
Google cloudconsole

Het OAuth-scherm met toestemming wordt niet weergegeven in de Google Cloud Console

Dit is de meest voorkomende zoekopdracht in deze cluster (390+ maandelijkse zoekopdrachten). De pagina "OAuth-verlementscherm" lijkt in 2024-2026 uit Google Cloud Console te zijn verdwenen voor veel ontwikkelaars vanwege een herontwerp van de gebruikersinterface. Het is niet verwijderd - het is verplaatst.

Symptoom

Wat je ziet

U opent de Google Cloud Console en navigeert naar API's en Services, maar het menu-item "OAuth-verificatiescherm" ontbreekt of er wordt bij het klikken naartoe doorgestuurd naar een nieuwe "OAuth Overzicht" pagina die een samenvattend dashboard weergeeft in plaats van het verwachte configuratieformulier.

Oorzaken

1 Google heeft de Google Cloud Console in 2024 opnieuw ontworpen en de OAuth-instellingen voor toestemming verplaatst naar een nieuwe "OAuth Overzicht" sectie onder API's en services. Het directe bewerkingsformulier is nu één niveau dieper.
2 Je hebt mogelijk Kijkersrol In plaats van de rol van Editor of Eigenaar op het Google Cloud-project. Accounts met de rol Weergave kunnen het overzicht zien, maar hebben geen toegang tot het configuratieformulier voor het toestemmingsscherm.
3 U bent misschien op de verkeerd project. Elk project heeft zijn eigen OAuth-scherm voor toestemming. Als je meerdere projecten hebt, controleer dan de projectkiezer bovenaan de console.
4 U hebt nog geen geselecteerd Gebruikerstype (Intern of Extern) voor het OAuth-toestemmingsscherm. Deze selectie is vereist voordat het configuratieformulier toegankelijk wordt.

Repareer (stap voor stap)

Stappen om de configuratie van het OAuth-toestemmingsscherm te openen
1 Controleer of u zich in het juiste Google Cloud-project bevindt met behulp van de projectdropdown bovenaan de pagina. Indien niet, schakel dan naar het project waarin uw OAuth-client-id is geconfigureerd.
2 Bevestig uw rol: ga naar IAM & Admin - IAM en verifieer dat je hebt Redacteur of Eigenaar rol. Kijkersrol kan het toestemmingsscherm niet bewerken.
3 Navigeer naar API's en services - OAuth-overzicht. Je ziet een overzichtspagina.
4 Zoek naar de "App bewerken" knop of de "Merkvorming" / "Publiek" / "Scope" tabbladen. Dit zijn de secties van wat vroeger een enkele configuratiepagina voor het "OAuth-verleeningsscherm" was.
5 Als je nog nooit een OAuth-scherm hebt ingesteld voor dit project, klik dan op Aan de slag en kies uw Gebruikerstype: Intern (Alleen voor Workspace-gebruikers, geen verificatie nodig) of Extern (elk Google-account, verificatie vereist voor gevoelige scopes).
6 Vul alle verplichte velden in: appnaam, e-mailadres voor ondersteuning en voor Externe apps: URL van de startpagina en URL van het privacybeleid.
Snelle tip: U kunt ook rechtstreeks via dit URL-patroon navigeren (vervang YOUR_PROJECT_ID): https://console.cloud.google.com/apis/credentials/consent?project=YOUR_PROJECT_ID. Deze diepe link omzeilt de overzichtspagina en gaat rechtstreeks naar de instellingen van het toestemmingsscherm.
ongeldige_scope

ongeldige_scope

Een typfout in de scope-URL of een uitgeschakelde API zal ertoe leiden dat Google de gehele autorisatieaanvraag afwijst voordat er enige gebruikersinteractie plaatsvindt.

Het exacte foutbericht

{"error": "invalid_scope", "error_description": "Sommige gevraagde scopes waren ongeldig. {valid=[https://mail.google.com/], invalid=[gmail.readonly]}"} -- of op de toestemmingsscherm-URL -- error=invalid_scope&error_description=Sommige+gevraagde+scopes+waren+ongeldig

Oorzaak

Twee veelvoorkomende hoofdoorzaken: (1) de scope-waarde is een korte naam zoals gmail.alleenlezen in plaats van de volledige URL https://www.googleapis.com/auth/gmail.readonly, of (2) de Gmail API (of een andere Google API waarop je je richt) niet is ingeschakeld in het Google Cloud-project.

Veelvoorkomende Gmail-bereiken en hun juiste URL's

Scope URL (gebruik de volledige URL) Wat het toestaat Type
https://www.googleapis.com/auth/gmail.readonly Lees alle berichten en threads Gevoelig
https://www.googleapis.com/auth/gmail.send E-mail verzenden namens de gebruiker Gevoelig
https://www.googleapis.com/auth/gmail.modify Lees, stel samen, verzend, verwijder threads Gevoelig
https://mail.google.com/ Volledige mailboxtoegang (IMAP/SMTP) Beperkt
https://www.googleapis.com/auth/userinfo.email Lees alleen het e-mailadres van de gebruiker Basis
https://www.googleapis.com/auth/gmail.readonly Lees alle berichten en threads Gevoelig
https://www.googleapis.com/auth/gmail.send E-mail verzenden namens de gebruiker Gevoelig
https://www.googleapis.com/auth/gmail.modify Lees, stel samen, verzend, verwijder threads Gevoelig
https://mail.google.com/ Volledige mailboxtoegang (IMAP/SMTP) Beperkt

Repareer

Stappen om ongeldige_scope te repareren
1 Controleer of je de volledige URL begint met https://www.googleapis.com/auth/ of https://mail.google.com/). Gebruik nooit de korte vorm zoals gmail.alleenlezen.
2 In de Google Cloud Console, ga naar APIs en services - Ingeschakelde API's en services. Zoeken naar Gmail API en bevestig dat het "Ingeschakeld" weergeeft. Zo niet, klik dan op Inschakelen.
3 Bevestig dat het bereik wordt weergegeven op uw OAuth-verleningsscherm onder Scopes voor Google API's. Als het ontbreekt, voeg het dan toe.
4 Test uw autorisatie-URL opnieuw. Voor een volledige lijst van geldige Gmail-scopes en hun classificatie van gevoeligheid, zie de Gmail API scopes handleiding.
Verificatie

"Google heeft deze app niet geverifieerd" & de limiet van 100 gebruikers

Het waarschuwingsscherm "Google heeft deze app niet geverifieerd" verschijnt wanneer een niet-geverifieerde app gevoelige of beperkte scopes aanvraagt. Hoewel gebruikers door kunnen gaan door op "Geavanceerd" en vervolgens op "Ga naar [appnaam] (onveilig)" te klikken, is dit niet geschikt voor productie - en de testmodus beperkt je app tot maximaal 100 unieke gebruikers.

Oorzaak

Oorzaak

Wanneer je app gevoelige scopes aanvraagt (zoals gmail.alleenlezen of gmail.verzenden), toont Google dit waarschuwingsscherm aan elke gebruiker totdat u de verificatiebeoordeling voltooit. Voor beperkte bereiken moet u ook een beveiligingsaudit door derden (CASA Tier 2) doorstaan.

Tijdens de publicatiestatus Test wordt dit waarschuwingsscherm ook weergegeven, zelfs voor testgebruikers, en het totale aantal toegestane testgebruikers is beperkt tot 100. Tokens voor testgebruikers verlopen na 7 dagen.

Repareer

Paden naar productie voor gevoelige/beperkte scopes
1 Voltooi het OAuth-conceptscherm: appnaam, ondersteunings-e-mailadres, homepage-URL en URL van het privacybeleid moeten allemaal worden verstrekt.
2 Klik op het OAuth-scherm/de pagina met de doelgroep op App publiceren (verplaatst status van Testen naar Productie, start de verificatiestroom van Google).
3 Voor gevoelige bereiken: voltooid Google's verificatiebeoordeling. Dit omvat het bevestigen van uw identiteit, het uitleggen van uw gebruik van elke gevoelige scope en het koppelen van een YouTube-video die de OAuth-stroom demonstreert.
4 Voor beperkte bereiken (bijv. https://mail.google.com/: aanvullend compleet een CASA Tier 2 beveiligingsbeoordeling door een door Google goedgekeurde beoordelaar.
5 Voor de volledige uitleg van de instellingen van het toestemmingsscherm, het selecteren van de scope en de verificatieworkflow, zie de Google app-verificatie en CASA-handleiding.
Onafhankelijke technische tussenpersoon

Deze fouten verdwijnen wanneer het OAuth-project al is gecertificeerd

Het scherm "Google heeft deze app niet geverifieerd", de limiet van 100 gebruikers en de 7 dagen dat de token verloopt in de testmodus zijn allemaal symptomen van uw eigen Google Cloud-project beheren en er eigenaar van zijn. Een onafhankelijke technische tussenpersoon die optreedt namens elke geauthenticeerde gebruiker - en heeft de CASA Tier 2-certificering al voltooid - verwijdert deze hele overhead van uw kant. Uw gebruikers autoriseren eenmalig; token-levenscyclus, scope compliance en herverificatie worden op platformniveau afgehandeld.

Dit is geen tijdelijke oplossing voor de beveiligingsbeoordeling van Google. Unipile heeft CASA Tier 2 onafhankelijk afgerond en is niet gelieerd aan, goedgekeurd door, of gesponsord door Google.

Verzend op reeds gecertificeerde Google OAuth
Strategie

Hoe deze hele klasse van Google OAuth-fouten te vermijden

Als we kijken naar alle 7 Google OAuth-fouten in deze gids, verschijnt er een patroon. Elk van hen is afkomstig van dezelfde bron: het handmatig beheren van uw eigen Google Cloud-project en de bijbehorende OAuth-configuratie. Deze Google OAuth-fouten zijn niet willekeurig - het zijn structurele gevolgen van het bezitten van een niet-geverifieerd OAuth-project, van mismatches in de redirect-URI en storingen in tokenrotatie tot de limiet van 100 gebruikers en afwijzingen van het toestemmingsscherm.

Er is nog een andere manier. Met een onafhankelijke technische tussenpersoon dat optreedt namens elke geauthenticeerde gebruiker - een die reeds de verificatiebeoordeling van Google heeft doorlopen en de CASA Tier 2-beveiligingscertificering heeft behaald - neemt al deze faalmodi van u over. De onderstaande vergelijking laat precies zien welke fouten verdwijnen en welke infrastructuur Unipile beheert. Zie de Unipile Google OAuth documentatie voor de volledige integratiehandleiding.

Zelf repareren versus Unipile

Wie is verantwoordelijk voor de oplossing van elke fout in deze handleiding?

De 7 Google OAuth-fouten die hierboven zijn behandeld, delen een gemeenschappelijke oorzaak: u bent eigenaar van het Google Cloud-project, dus u bent verantwoordelijk voor elke faalmodus. Hier is een vergelijking van wat dat in de praktijk betekent.

Zelf repareren Uw verantwoordelijkheid
redirect_uri_ongelijk Beheer elke doorverwijs-URI in de Google Cloud Console
admin_beleid_toegepast Afhankelijk van de Workspace-beheerder van elke gebruiker - buiten uw controle
toegang_geweigerd / app geblokkeerd Google verificatieproces + testgebruikersbeheer
ongeldige_verlening Bouw en onderhoud je eigen refresh-token rotatielogica
Problemen met het toestemmingsscherm Configureer en onderhoud het OAuth-toestemmingsscherm zelf
ongeldige_scope Volgen welke beperkte bereiken Google-verificatie vereisen
Niet-geverifieerde app + limiet van 100 gebruikers Voer zelf de Google-verificatie en de CASA Tier 2-beoordeling uit.
Je bezit en debugt het allemaal
Met Unipile Afgehandeld
Gehoste authenticatielink - geen toestemmingsscherm om te configureren Geen redirect URI-beheer, nooit
Redirect URIs die voor u worden afgehandeld redirect_uri_mismatch kan simpelweg niet voorkomen
Vernieuwingstokens worden automatisch beheerd Geen "verbind uw Gmail opnieuw"-fouten die uw gebruikers bereiken
Verbinden op Unipile's reeds gecertificeerde Google OAuth-sleutel Geen waarschuwing voor niet-geverifieerde apps, geen limiet van 100 gebruikers
CASA Tier 2 Gecertificeerd Unipile's Google OAuth-sleutel - onafhankelijke technische tussenpersoon
Sla het bouwen en certificeren van uw eigen Google Cloud-project over - koppel de Gmail van uw gebruikers aan de reeds gecertificeerde sleutel van Unipile en schakel vervolgens over naar uw eigen sleutel wanneer u er klaar voor bent (BYOC)
Gmail-scopes met beperkte toegang openen zonder te wachten tot je eigen Google-verificatie is voltooid
Unipile fungeert als een onafhankelijke technische tussenpersoon en verwerkt verzoeken namens elke geauthenticeerde gebruiker.
Nu verzenden met de gecertificeerde sleutel van Unipile - binnenkort eigenaar Begin vandaag nog met het koppelen van de Gmail-accounts van uw gebruikers via de CASA Tier 2 gecertificeerde Google OAuth-sleutel van Unipile. Voer parallel uw eigen Google Cloud-verificatie uit. Wanneer deze slaagt, schakelt u over op uw eigen referenties met Bring Your Own Credentials (BYOC) - uw gebruikers zien uw merk, Unipile blijft de infrastructuur beheren.
Deze foutklassen komen simpelweg niet voor

Het belangrijkste onderscheid: Unipile heeft de beveiligingsbeoordeling van Google en de CASA Tier 2-beoordeling voor de verbindingen die het namens u tot stand brengt, al afgerond. Dit is geen tijdelijke oplossing voor de beveiligingsbeoordeling van Google - Unipile heeft deze al doorlopen. Uw gebruikers krijgen een duidelijk toestemmingsscherm (geen waarschuwing voor "niet-geverifieerde app"), uw app wordt onmiddellijk verzonden en u kunt uw eigen Google Cloud-verificatie parallel volgen zonder druk van een productiedeadline.

Bouw je Gmail-integratie zonder de Google Cloud Console aan te raken Koppel Gmail-accounts aan Unipile's reeds gecertificeerde Google OAuth-sleutel. Geen redirect URI-configuratie, geen token rotatielogica, geen waarschuwingen voor niet-geverifieerde apps voor uw gebruikers.
Schip op gecertificeerde sleutel van Unipile

Compliance-opmerking: Unipile is een onafhankelijke technische tussenpersoon, niet gelieerd aan, goedgekeurd door of gesponsord door Google. Unipile's Google OAuth-client is CASA Tier 2-gecertificeerd, waardoor uw gebruikers toegang tot Gmail kunnen autoriseren zonder een "niet-geverifieerde app"-waarschuwing voor verbindingen die via Unipile worden tot stand gebracht. Dit is geen omzeiling van de veiligheidscontrole van Google - Unipile is er al doorheen gekomen voor de verbindingen die het tot stand brengt namens elke geauthenticeerde gebruiker. Gebruikers kunnen de toegang op elk moment intrekken via de machtigingenpagina van hun Google-account.

Unipile - Google OAuth Fouten FAQ

Google OAuth-fouten FAQ

Antwoorden op de meest voorkomende vragen over Google OAuth-fouten en Gmail API-fouten, met betrekking tot de levenscyclus van tokens, beheerdersbeleid, omleidings-URI's en configuratie van de Google Cloud Console.

01 admin_beleid_afgedwongen

admin_beleid_toegepast betekent dat een Google Workspace superbeheerder uw app of de specifieke OAuth-bereiken die deze aanvraagt, heeft geblokkeerd voor autorisatie door gebruikers in die organisatie. Het is een organisatorisch toegangscontrolebeleid, geen bug in uw code. De oplossing vereist actie van de Workspace superbheerder in de Google Admin Console onder Beveiliging > API-controles > Beheer toegang van apps van derden.

Nee. Een normale gebruiker kan admin_policy_enforced niet herstellen. Alleen een Google Workspace superbeheerder U kunt deze fout oplossen door de app als vertrouwd te markeren in de Admin Console. De betreffende gebruiker moet contact opnemen met zijn IT-beheerder of Workspace super-beheerder en verzoeken dat de specifieke OAuth-app wordt toegevoegd aan de goedgekeurde lijst.

De redirect_uri_ongelijk op localhost gebeurt wanneer de URI die u registreert in de Google Cloud Console niet exact overeenkomt met de URI die uw lokale ontwikkelserver gebruikt. Bijvoorbeeld, registreren http://localhost:3000/callback maar draaiend op poort 3001, of het vergeten van een afsluitende slash. Google staat toe http:// niet alleen https://) voor localhost URI's. Registreer de exacte URI die uw lokale server gebruikt, inclusief het juiste poortnummer.

Nee. Geautoriseerde JavaScript-oorsprongen en geautoriseerde omleidings-URI's zijn twee afzonderlijke velden. JavaScript-oorsprongen worden alleen gebruikt voor OAuth-stromen aan de kant van de browser. Om te repareren redirect_uri_ongelijk, moet u de URI toevoegen aan de Geautoriseerde omleidings-URI's veld, niet tot JavaScript-oorsprongen.

Eén Google OAuth 2.0-client kan maximaal 100 Geautoriseerde doorverwijzings-URI's geregistreerd. Dit stelt je in staat om URIs te registreren voor verschillende omgevingen (lokale ontwikkeling, staging, productie) en verschillende callback-paden binnen dezelfde client.

Als je app in Publicatiestatus testen, Google verfrisst tokens verlopen na 7 dagen ongeacht het gebruik. Dit is zo ontworpen voor niet-geverifieerde apps. Ga naar Productiestatus door te klikken op App publiceren op de OAuth-toestemmingsschermpagina om langdurige tokens te verkrijgen. In Productie blijven vernieuwingstokens geldig zolang de gebruiker uw app minstens één keer per 6 maanden gebruikt.

Google trekt vernieuwingstokens in die niet zijn gebruikt voor 6 maanden (ongeveer 180 dagen). Tokens worden ook ingetrokken wanneer: de gebruiker zijn Google-accountwachtwoord wijzigt, de gebruiker de toegang tot de app intrekt in de beveiligingsinstellingen van zijn Google-account, u opnieuw autoriseert met andere bereiken, of het totale aantal vernieuwingstokens voor een enkele gebruikers-app-combinatie 50 overschrijdt (de oudste worden eerst ingetrokken).

Google heeft de Cloud Console in 2024 opnieuw ontworpen. De configuratie van het OAuth-toestemmingsscherm bevindt zich nu binnen API's en Services > OAuth-overzicht. Klik App bewerken of gebruik de tabbladen Branding, Doelgroep en Scopes. Controleer ook: u hebt Bewerker of eigenaar rol op het project (Viewer kan het formulier niet openen) en zorg ervoor dat u zich op het juiste project bevindt met behulp van de projectkiezer bovenaan de console.

Loop je nog steeds tegen een Google OAuth-fout aan die hier niet wordt vermeld? Sla het debuggen over en laat Unipile de Gmail OAuth voor je regelen.

Nu bouwen
nl_NLNL