Yaygın Google OAuth ve Gmail API Hataları (ve Her Birini Düzeltme Yolları)

Google OAuth Kılavuzu

Yaygın Google OAuth ve Gmail API Hataları (ve Her Birini Düzeltme Yolları)

Gmail'i veya Google Takvimi'ni Google OAuth ile entegre eden her geliştirici en az bir kez bu google oauth hatalarıyla karşılaşacaktır. Bu rehber, yaygın Google OAuth hatalarının tamamını tek bir yerde toplar - her biri için kesin nedenini ve adım adım çözümünü içerir. Bu google oauth hatalarını anlamak saatler sürecek hata ayıklamadan tasarruf etmenizi sağlayacaktır.

oauth_geri_çağırı.py
# Google OAuth jeton değişimi İthalat istekleri jeton_yanıtı = requests.post( "https://oauth2.googleapis.com/token", veri={ "kod"yetkilendirme_kodu, "istemci_kimliği": İSTEMCİ_KİMLİĞİ, "client_secret"CLIENT_SECRET, "yönlendirme_url": YÖNLENDİRME_URI, "grant_type": "yetkilendirme_kodu" } )
hata: yönlendirme_uri_uyuşmazlığı
yeniden_yönlendirme_urf_eşleşmiyor geçersiz_hibe yönetici_politika_uygulandı erişim_engellendi geçersiz_kapsam
Hızlı Başvuru

Hızlı başvuru: Tüm Google OAuth hatalarına bir bakış

Bu kılavuzda ele alınan 7 Google OAuth hatasının tamamının tek bir tablo halinde özeti - oluştuğu aşama, temel neden ve aşağıdaki ayrıntılı bölüme hızlı düzeltme bağlantısı. Geliştirme veya üretim ortamlarında Google OAuth hatalarını ayıklarken bu tabloyu bir başvuru olarak işaretleyin.

Hata mesajı Sahne Temel neden Hızlı çözüm
yeniden_yönlendirme_urf_eşleşmiyor Authorization İsteğinizdeki yönlendirme URI'si, Google Cloud Console'da kayıtlı olanlardan biriyle tam olarak eşleşmiyor Düzelt
yönetici_politika_uygulandı Authorization Bir Workspace süper yöneticisi, kuruluştaki kullanıcıların hangi OAuth uygulamalarına veya kapsamlarına erişim izni verebileceğini kısıtladı. Düzelt
erişim_engellendi Authorization Uygulama test modunda ve kullanıcı bir test kullanıcısı değil veya uygulama doğrulaması olmadan kısıtlanmış kapsamları istiyor Düzelt
geçersiz_hibe Belirteç yenileme Yenileme jetonu süresi doldu, iptal edildi veya birden fazla kullanıldı (tek kullanımlık kimlik doğrulama kodu) Düzelt
Rıza ekranı eksik Google Cloud Console Yeni Google Cloud kullanıcı arayüzü OAuth onay ekranını taşıdı; ayrıca proje üzerinde Sahip/Düzenleyici rolü gerektiriyor Düzelt
geçersiz_kapsam Authorization Kapsam URL hatası veya karşılık gelen Google API'si projede etkin değil Düzelt
Google doğrulamadı Authorization Uygulama hassas/kısıtlı kapsamlar kullanıyor ancak Google doğrulamayı tamamlamadı; Test modu 100 kullanıcı ile sınırlıdır Düzelt
yeniden_yönlendirme_urf_eşleşmiyor Authorization
Temel nedenİsteklerdeki Yönlendirme URI'si, Google Cloud Console'da kayıtlı bir URI ile tam olarak eşleşmiyor.
yönetici_politika_uygulandı Authorization
Temel nedenÇalışma Alanı süper yöneticisi, kuruluş için uygulamayı veya kapsamı engelledi
erişim_engellendi Authorization
Temel nedenUygulama Test Modunda, kullanıcı test kullanıcısı olarak eklenmemiş veya kısıtlı kapsamlar doğrulanmamış
geçersiz_hibe Belirteç yenileme
Temel nedenYenileme jetonu süresi doldu (6 ay hareketsizlik), iptal edildi veya tek kullanımlık kimlik doğrulama kodu yeniden kullanıldı
Rıza ekranı eksik Google Cloud Console
Temel nedenYeni Google Cloud kullanıcı arayüzü, OAuth onay ekranını "OAuth Genel Bakış" bölümüne taşıdı."
geçersiz_kapsam Authorization
Temel nedenKapsam URL'si yazım hatası veya projede API etkin değil
Google doğrulamadı Authorization
Temel nedenDoğrulama olmadan hassas/kısıtlı kapsamlar; Test modu 100 kullanıcı sınırı
Hata 400

Hata 400: redirect_uri_mismatch

Bu, yeni bir entegrasyon kuran geliştiricilerin karşılaştığı en yaygın Google OAuth hatasıdır. Herhangi bir belirteç verilmeden önce, yetkilendirme adımı sırasında tetiklenir.

Hata mesajının tam hali

Hata 400: redirect_uri_uyuşmazlığı İstek içindeki yönlendirme URI'si kayıtlı bir yönlendirme URI'si ile eşleşmedi. hata=redirect_uri_uyuşmazlığı

Sebep

Temel neden

Google karşılaştırır yönlendirme_url'si Google Cloud Console'da OAuth istemcinizde kayıtlı olan yetkili yönlendirme URI'leri listesiyle yetkilendirme URL'nize ilettiğiniz parametre. Tek bir karakter farkı bile - bir eğik çizgi, http vs https, veya farklı bir port - bu hataya neden olur.

Sabitle (adım adım)

Düzeltme adımları
1 Açık Google Cloud Console - API'ler ve Hizmetler - Kimlik Bilgileri.
2 Değiştirmek için OAuth 2.0 İstemci Kimliğinize tıklayın.
3 Altında Yetkili yeniden yönlendirme URI'leri, kodunuzda geçirdiğiniz tam URI'yi ekleyin - örn. https://yourapp.com/oauth/callback. Değer, şema, port ve sondaki eğik çizgi dahil olmak üzere karakter karakter aynı olmalıdır.
4 Tıkla Kaydet. Değişikliklerin yayılması birkaç dakika sürebilir.
5 Kodunuzda, emin olun ki yönlendirme_url'si Yetkilendirme uç noktasına ve jeton değişim uç noktasına geçirdiğiniz değer aynıdır.

localhost'ta yönlendirme URI'si eşleşmiyor

Yerel geliştirme sırasında, kullandığınız tam localhost URI'sini kaydedin - örneğin http://localhost:3000/callback. Google izin verir http:// sadece https://) yerel ana makine URI'leri için. Geliştirme bağlantı noktanızı değiştirirseniz, kayıtlı URI'yi güncellemeyi unutmayın.

Anlaşıldı: Yetkili JavaScript kaynakları ile yönlendirme URI'leri

Bunlar iki ayrı alandır ve farklı amaçlara hizmet ederler. Tarayıcı tarafı OAuth akışları (örtük akış, Google Kimlik Hizmetleri) için yetkili JavaScript kaynakları kullanılır. Sunucu tarafı yetkilendirme kodu akışları için yetkili yönlendirme URI'leri kullanılır. JavaScript kaynaklarına bir URI eklemek şu sorunu çözmez: yeniden_yönlendirme_urf_eşleşmiyor hata - bunu yönlendirme URI'leri alanına eklemelisiniz. Bir Google OAuth istemcisi en fazla 100 yönlendirme URI'si kaydedebilir.

Hata 400 / Yönetici

Hata 400: admin_policy_enforced

Bu hata kodunuzda bir hata değildir. Google Workspace süper yöneticisi tarafından uygulanan kurumsal bir politikadır. Sıradan bir geliştirici bunu tek başına düzeltemez.

Hata mesajının tam hali

Hata 400: admin_policy_enforced Kuruluşunuzun politikaları nedeniyle Google Hesabı yetkilendirme için kullanılamıyor. Daha fazla bilgi için yöneticinizle iletişime geçin. hata=admin_policy_enforced

Sebep

Temel neden

Bir Google Workspace süper yöneticisi, kuruluşunuzdaki kullanıcıların hangi üçüncü taraf uygulamalara veya OAuth kapsamlarına erişim izni verebileceğini kısıtlamıştır. Bu, aşağıdakiler aracılığıyla yapılandırılır API Kontrolleri Google Yönetici Konsolu'nda. Bir uygulama onaylı listede olmadığında, uygulamanın doğrulama durumundan bağımsız olarak Workspace'teki her kullanıcı uygulamayı yetkilendirmeye çalıştığında bu hatayı alır.

Bu bir uyumluluk ve güvenlik kontrolü, geliştirici tarafında yanlış yapılandırma değil. Doğru çözüm her zaman yönetici tarafında.

Düzeltme (yalnızca admin tarafı)

Süper yönetici için adımlar
1 Giriş yapın Google Yönetici Konsolu at admin.google.com süper yönetici hesabı ile.
2 Git Güvenlik - Erişim ve veri denetimi - API denetimleri.
3 Tıkla Üçüncü Taraf Uygulama Erişimi Yönetimi.
4 Uygulamayı OAuth İstemci Kimliği veya uygulama adıyla arayın. Üzerine tıklayın.
5 Uygulamanın erişim durumunu şuradan değiştir Engellendi veya Sınırlı için Güvenilir. Bu, uygulamanın beyan ettiği kapsamları istemesine olanak tanır.
6 Tıkla Değiştir Onaylamak için. Kuruluştaki kullanıcılar artık uygulamaya yetki verebilir.
Not: normal kullanıcılar bunu düzeltemez

karşılaşan bir kullanıcı yönetici_politika_uygulandı çözemezler. Google Workspace süper yöneticileriyle iletişime geçmeleri ve belirli OAuth uygulamasının Güvenilir olarak işaretlenmesini istemeleri gerekir. Kullanıcı yönetici ise, yukarıdaki adımları uygulayabilir. Etki alanı katı bir "Belirli uygulamalara izin ver" ilkesi uyguluyorsa, uygulama Güvenilir olarak ayarlanmadan önce onaylı listeye açıkça eklenmelidir.

Dahili araçlar geliştiriyorsanız ve kullanıcı başına OAuth onayından tamamen kaçınmak istiyorsanız, Alan Genişi Yetkilendirmeye sahip bir hizmet hesabı alternatiftir - bkz Gmail hizmet hesabı ve DWD kılavuzu.

erişim_engellendi

erişim_engellendi & "Bu uygulama engellendi" (doğrulanmamış uygulama)

Kullanıcılar "Bu uygulama engellendi" ekranını görüyor veya erişim_engellendi OAuth geri çağırmasında. Birden fazla kök nedeni vardır; uygulamanız hala Test modunda olup olmadığına veya kısıtlı kapsamları hedefleyip hedeflemediğine bağlı olarak.

Hata mesajının tam hali

Erişim engellendi: [Uygulama Adınız], Google doğrulama sürecini tamamlamadı hata=erişim_reddedildi -- veya -- Bu uygulama engellendi. Bu uygulama Google Hesabınızdaki hassas bilgilere erişmeye çalıştı. Daha fazla bilgi için geliştiriciyle iletişime geçin.

Nedenler

Uygulama Test Modunda + Kullanıcı test kullanıcısı değil

OAuth uygulaması "Test Etme" yayın durumudayken, yalnızca açıkça test kullanıcısı olarak eklenenler yetkilendirebilir. Diğer herkes hemen erişim reddi alır.

Test modu 100 kullanıcı sınırı aşıldı

Test modu herhangi bir zamanda 100 benzersiz test kullanıcısı ile sınırlıdır. 100'e ulaştığınızda, yeni kullanıcılar eklenmiş olsalar bile uygulamayı yetkilendiremez.

Doğrulama olmadan hassas veya kısıtlı kapsamlar

Kapsamlar gibi gmail.değiştir veya gmail.gönder Hassas kapsamlar. Bunları isteyen uygulamalar, gerçek kullanıcıların erişim izni verebilmesi için Google'ın uygulama doğrulama sürecini tamamlamalıdır.

Kısıtlı kapsamlar (en şiddetlisi)

Bazı kapsamlar (örneğin tam Gmail erişimi) Kısıtlıdır ve doğrulamanın yanı sıra üçüncü taraf bir güvenlik denetimi (CASA) gerektirir.

Düzelt

Test modu için - test kullanıcıları ekle
1 Google Cloud Console'da şuraya gidin: API'ler ve Hizmetler - OAuth onay ekranı.
2 Altında Test kullanıcıları, tıklayın Kullanıcı Ekle ve test sırasında erişim ihtiyacı olan her kullanıcının Gmail adresini ekleyin.
3 Kaydet. Kullanıcı, uygulama Test modunda kalmaya devam ederken artık uygulamaya yetki verebilir.
Üretim İçin - doğrulama için gönder + gerekirse CASA
1 OAuth onay ekranınızın tam olarak doldurulduğundan emin olun: uygulama adı, destek e-postası, ana sayfa URL'si, gizlilik politikası URL'si.
2 OAuth onay ekranı sayfasında, tıklayın Uygulamayı Yayınla Üretim'e taşımak, hassas kapsamlar için doğrulama incelemesi gönderimini tetikler.
3 Kısıtlı kapsamlar için, bir CASA Seviye 2 güvenlik değerlendirmesi tamamlayın. Bkz. Google OAuth Kurulum Rehberi doğrulama ve CASA iş akışı için.
geçersiz_hibe

geçersiz_verilen: "Gmail hesabınızı yeniden bağlayın"

Bu geçersiz hibe Üretimde en kafa karıştırıcı şeylerden biri hatadır - kullanıcıların bir alt kümesi için sessizce bozulur ve kurtarma için yeni bir OAuth akışı gerektirir. Yenileme belirteci yaşam döngüsünü anlamak, bunu doğru şekilde yönetmenin anahtarıdır.

Hata mesajının tam hali

{"error": "geçersiz_hibe", "error_description": "Belirteç süresi dolmuş veya iptal edilmiş."} -- veya -- {"error": "geçersiz_hibe", "error_description": "Kötü İstek"}

Neden: yenileme belirteci yaşam döngüsü

6 aylık hareketsizlik - Google, 6 aydır kullanılmayan yenileme jetonlarını iptal eder. Hesabını bağladıktan sonra uygulamanızı kullanmayı bırakan bir kullanıcı, bir sonraki denemesinde bu hatayı alacaktır.
Kullanıcı Google şifresini değiştirdi Google hesap şifresini değiştirmek, yenileme jetonları da dahil olmak üzere, üçüncü taraf uygulamalara verilen söz konusu hesap için mevcut tüm OAuth jetonlarını geçersiz kılar.
Yeniden yetkilendirmede kapsam değişikliği - Orijinal yetkilendirmeden farklı bir kapsam kümesiyle yeniden yetkilendirirseniz, Google önceki yenileme belirtecini iptal eder.
Test modu = 7 günlük jeton geçerliliği - Uygulamanız Test yayın durumundayken, yenileme belirteçleri kullanımlarına bakılmaksızın 7 gün sonra sona erer. Geliştiricilerin gördüğü en yaygın neden budur geçersiz_hibe bir haftalık testten sonra.
Yetkilendirme kodu birden fazla kullanıldı - Google'ın OAuth yönlendirmesinde döndürdüğü yetkilendirme kodu tek kullanımlıktır. Aynı kodla belirteç uç noktasına birden fazla kez çağrı yaparsanız, sonraki tüm çağrılar başarısız olur geçersiz_hibe.

Düzeltme: access_type=offline + prompt=consent ile yeniden yetkilendirin

build_auth_url.py
itibaren google_auth_oauthlib.flow İthalat Akış akış = Flow.from_client_secrets_file( 'client_secrets.json', scopes=['https://www.googleapis.com/auth/gmail.readonly'], redirect_uri=YÖNLENDİRME_URI ) # access_type=offline → yenileme jetonu al # prompt=consent → yeniden onay isteme, her zaman yeni bir yenileme jetonu döndürür auth_url, durum = akış.yetkilendirme_url( erişim_türü='çevrimdışı', istem'rıza' ) # Yanıtta bulunan YENİ refresh_token'ı saklayın # eski jetonu artık geçersizdir — veritabanınızı güncelleyin
Yeni yenileme belirteci alındı - sakla ve eskisini at

Kaçınmak için geçersiz_hibe üretimde: her zaman kullan erişim_türü=çevrimdışı ve rıza OAuth akışını başlatırken, kullanıcı yeniden yetkilendirme yaptığında her zaman sakladığınız yenileme belirtecini güncelleyin, algıla geçersiz_hibe hatalar ve etkili bir yeniden yetkilendirme kullanıcı arayüzünü tetikleyin ("Gmail hesabınızı yeniden bağlayın" istemi) ve kalıcı jetonları almak için uygulamanızı Test modundan çıkarın.

Yenileme belirteci yönetimini atla Unipile'ın yönetilen OAuth'u üzerine inşa edin - JWT ömrü yönetimi yok
Unipile ile oluşturun
Google Cloud Console

Google Cloud Console'da OAuth onay ekranı görünmüyor

Bu, bu kümedeki en yüksek hacimli arama sorgusudur (aylık 390"dan fazla arama). "OAuth onay ekranı" sayfası, bir kullanıcı arayüzü yeniden tasarımı nedeniyle 2024-2026 yıllarında birçok geliştirici için Google Cloud Console'dan kaybolmuş gibi görünüyor. Kaldırılmamıştır - taşınmıştır.

Belirti

Gördüğün şey

Google Cloud Console'u açarsınız ve şuraya gidersiniz: API'ler ve Hizmetler, ancak "OAuth onay ekranı" menü öğesi ya eksik ya da tıklamak sizi yeni bir yere yönlendiriyor. "OAuth Genel Bakış" Beklediğiniz yapılandırma formu yerine özet bir gösterge tablosu gösteren sayfa.

Nedenler

1 Google, 2024 yılında Google Cloud Console'u yeniden tasarladı ve OAuth onay ekranı yapılandırmasını yeni bir "OAuth Genel Bakış" APIs & Hizmetleri altındaki bölüm. Doğrudan düzenleme formu artık bir seviye daha derinde.
2 Olabilir Gözlemci rolü Google Cloud projesinde Editör veya Sahip rolü yerine Görüntüleyici rolüne sahip hesaplar genel bakışı görebilir ancak izin ekranı yapılandırma formuna erişemez.
3 Belki de üzerindesiniz Yanlış proje. Her projenin kendi OAuth izin ekranı vardır. Birden fazla projeniz varsa, konsolun üst kısmındaki proje seçiciyi kontrol edin.
4 Henüz bir seçim yapmadınız Kullanıcı türü OAuth onay ekranı için (Dahili veya Harici). Bu seçim, yapılandırma formu erişilebilir hale gelmeden önce gereklidir.

Sabitle (adım adım)

OAuth onay ekranı yapılandırmasına erişim adımları
1 Doğru Google Cloud projesinde olduğunuzu sayfanın üst kısmındaki proje açılır menüsünü kullanarak doğrulayın. Değilse, OAuth istemci kimliğinizin yapılandırıldığı projeye geçin.
2 Rolünüzü Onaylayın: git Kimlik ve Erişim Yönetimi (IAM) ve Yönetici - IAM veye sahip olduğunuzu doğrulayın Editör veya Sahip Rol. Görüntüleyici rolü izin ekranını düzenleyemez.
3 Git API'ler ve Hizmetler - OAuth genel bakış. Özet sayfasını göreceksiniz.
4 Arayın "Uygulamayı Düzenle" düğme veya "Markalaşma" / "Seyirci" / "Kapsamlar" Sekmeler. Bunlar, eskiden tek bir "OAuth onay ekranı" yapılandırma sayfası olan bölümleridir.
5 Bu projede hiç OAuth onay ekranı ayarlamadıysanız şuraya tıklayın Başlayın ve Kullanıcı tipinizi seçin: İç (Yalnızca Çalışma Alanı kullanıcıları için, doğrulama gerekmez) veya Dış (herhangi bir Google hesabı, hassas kapsamlar için doğrulama gerekli).
6 Gerekli tüm alanları doldurun: uygulama adı, destek e-postası ve Harici uygulamalar için: ana sayfa URL'si ve gizlilik politikası URL'si.
Hızlı ipucu: Ayrıca bu URL deseni üzerinden doğrudan gezinebilirsiniz (YOUR_PROJECT_ID'yi değiştirin): https://console.cloud.google.com/apis/credentials/consent?project=YOUR_PROJECT_ID. Bu derin bağlantı, genel bakış sayfasını atlar ve doğrudan onay ekranı yapılandırmasına gider. Her yapılandırma alanı, kullanıcı tipi seçimi ve 100 kullanıcılık test sınırı hakkında tam bir yol tarifi için lütfen şuraya bakın: OAuth onay ekranı kurulum rehberi.

Haftalarca süren doğrulama.
Kullanım Unipile anahtarı ve şimdi başla.

Google'ın incelemesini bekleyerek müşteri kaybetmeyin. Önceden doğrulanmış geliştirici kimlik bilgilerimizle 5 dakikada Gmail hesaplarını bağlayın.

SOC 2 - GDPR - Uygulama incelemesi gerekmez - İstediğiniz zaman kendi anahtarınıza geçin
CASA Seviye 2 Sertifikalı
connect-gmail.shkıvrıl
# Google Cloud Console yok. İnceleme yok.# Herhangi bir Gmail hesabını 5 dakikada bağlayın. kıvrıl -X POST "https://api.unipile.com/v1/hesaplar" \ -H ""X-API-KEY: $UNIPILE_KEY"" \ -d '{ "provider": "GOOGLE_OAUTH", "unipile_kimlik_bilgileri_kullan": true }'
geçersiz_kapsam

geçersiz_kapsam

Kapsam URL'sindeki bir yazım hatası veya devre dışı bırakılmış bir API, herhangi bir kullanıcı etkileşiminden önce Google'ın tüm yetkilendirme isteğini reddetmesine neden olacaktır.

Hata mesajının tam hali

{"hata": "geçersiz_kapsam", "hata_açıklaması": "İstenen bazı kapsamlar geçersizdi. {geçerli=[https://mail.google.com/], geçersiz=[gmail.readonly]}"} -- veya onay ekranı URL'sinde -- hata=geçersiz_kapsam&hata_açıklaması=İstenen+bazı+kapsamlar+geçersizdi

Sebep

İki yaygın kök neden: (1) kapsam değeri kısa bir ad gibidir gmail.yalnızcaoku tam URL yerine https://www.googleapis.com/auth/gmail.readonly, ya da (2) Google Cloud projesinde Gmail API'sinin (veya kapsadığınız başka bir Google API'sinin) etkinleştirilmemiş olması.

Gmail kapsamları ve doğru URL'leri

Kapsam URL'si (tam URL'yi kullanın) Ne sağlar Tip
https://www.googleapis.com/auth/gmail.readonly Tüm mesajları ve dizileri oku Hassas
https://www.googleapis.com/auth/gmail.send Kullanıcı adına e-posta gönder Hassas
https://www.googleapis.com/auth/gmail.modify Oku, oluştur, gönder, sil dizileri Hassas
https://mail.google.com/ Tam posta kutusu erişimi (IMAP/SMTP) Kısıtlı
https://www.googleapis.com/auth/userinfo.email Kullanıcının sadece e-posta adresini oku Temel
https://www.googleapis.com/auth/gmail.readonly Tüm mesajları ve dizileri oku Hassas
https://www.googleapis.com/auth/gmail.send Kullanıcı adına e-posta gönder Hassas
https://www.googleapis.com/auth/gmail.modify Oku, oluştur, gönder, sil dizileri Hassas
https://mail.google.com/ Tam posta kutusu erişimi (IMAP/SMTP) Kısıtlı

Düzelt

invalid_scope hatasını düzeltme adımları
1 Kullandığınızdan emin olun Tam kapsamlı URL (ile başlar https://www.googleapis.com/auth/ veya https://mail.google.com/kısaltma kullanmayın gmail.yalnızcaoku.
2 Google Cloud Console'da şuraya gidin: API'ler ve Hizmetler - Etkinleştirilmiş API'ler ve hizmetler. Arama Gmail API ve "Etkin" olarak göründüğünü kontrol edin. Değilse, Etkinleştir'i tıklayın.
3 OAuth onay ekranınızda kapsamın listelendiğini onaylayın Google API'leri için kapsamlar. Eğer eksikse, ekle.
4 Yetkilendirme URL'nizi yeniden test edin. Gmail'e ait geçerli kapsamların tam listesi ve hassasiyet sınıflandırmaları için Gmail API kapsamları kılavuzu.
Doğrulama

"Google bu uygulamayı doğrulamadı" ve 100 kullanıcı sınırı

Doğrulanmamış bir uygulama hassas veya kısıtlı erişim alanları talep ettiğinde, "Google bu uygulamayı doğrulamadı" uyarı ekranı görüntülenir. Kullanıcılar "Gelişmiş" seçeneğine ve ardından "[uygulama adı]'na git (güvenli değil)" seçeneğine tıklayarak devam edebilirler; ancak bu durum üretim ortamı için uygun değildir. Ayrıca, Test modunda uygulamanızın kullanıcı sayısı toplamda 100 tekil kullanıcı ile sınırlıdır.

Sebep

Temel neden

Uygulamanız Hassas kapsamlar (örneğin gmail.yalnızcaoku veya gmail.gönder), doğrulama incelemesini tamamlayana kadar Google bu uyarı ekranını tüm kullanıcılara gösterir. Kısıtlı kapsamlar için ayrıca bir üçüncü taraf güvenlik denetiminden (CASA Tier 2) geçmeniz gerekir.

"Test" yayınlama durumundayken, bu uyarı ekranı test kullanıcıları için de görüntülenir ve izin verilen toplam test kullanıcısı sayısı 100 ile sınırlıdır. Test kullanıcıları için oluşturulan erişim belirteçleri 7 gün sonra geçerliliğini yitirir.

Düzelt

Hassas/kısıtlı kapsamlar için üretime giden yol
1 OAuth onay ekranını doldurun: Uygulama adı, destek e-posta adresi, ana sayfa URL'si ve gizlilik politikası URL'si mutlaka girilmelidir.
2 OAuth izin ekranında / Hedef kitle sayfasında, tıklayın Uygulamayı Yayınla (durumu Test ortamından Üretim ortamına geçirir ve Google'ın doğrulama sürecini başlatır).
3 Hassas teleskoplar için: tamam Google'ın doğrulama incelemesi. Bu süreç, kimliğinizi doğrulamanızı, her bir hassas erişim kapsamını nasıl kullandığınızı açıklamanızı ve OAuth akışını gösteren bir YouTube videosu eklemenizi gerektirir.
4 Kısıtlı Kapsamlar İçin (Örn. https://mail.google.com/): ayrıca bir CASA Seviye 2 Google tarafından onaylanmış bir denetçi tarafından yapılan güvenlik değerlendirmesi.
5 Onay ekranının kurulumu, kapsam seçimi ve doğrulama iş akışının adım adım açıklamasını görmek için Google uygulama doğrulama ve CASA kılavuzu.
Bağımsız teknik aracı

OAuth projesi zaten sertifikalı olduğunda bu hatalar kaybolur

"Google bu uygulamayı doğrulamadı" ekranı, 100 kullanıcı sınırı ve Test modunda 7 günlük jeton geçerlilik süresi, hepsi şu durumun belirtileridir: Kendi Google Cloud projenizi oluşturmak ve yönetmek. Bağımsız bir teknik aracı, harekete geçen her yetkili kullanıcı adına - ve CASA Tier 2 sertifikasını çoktan tamamlamış olması - bu yükün tamamını sizin omuzlarınızdan alır. Kullanıcılarınız tek seferlik yetkilendirme yapar; token yaşam döngüsü, kapsam uyumu ve yeniden doğrulama işlemleri platform düzeyinde yürütülür.

Bu, Google'ın güvenlik incelemesini atlatmaya yönelik bir geçici çözüm değildir. Unipile, CASA Tier 2 sertifikasını bağımsız olarak almıştır ve Google ile herhangi bir bağlantısı bulunmamakta, Google tarafından onaylanmamakta veya desteklenmemektedir.

Zaten sertifikalandırılmış Google OAuth'u kullanın
Strateji

Bu tür Google OAuth hatalarının tamamını nasıl önleyebilirsiniz?

Rehberdeki 7 Google OAuth hatasının tamamına baktığımızda bir örüntü ortaya çıkıyor. Her biri aynı kökten kaynaklanıyor: Kendi Google Cloud projenizi ve OAuth yapılandırmanızı manuel olarak yönetmek. Bu Google OAuth hataları rastgele değil; doğrulanmamış bir OAuth projesine sahip olmanın yapısal sonuçlarıdırlar; yönlendirme URI'si uyumsuzluklarından jeton döndürme başarısızlıklarına, 100 kullanıcı sınırına ve onay ekranı reddetmelerine kadar.

Başka bir yol var. Kullanarak bağımsız teknik aracı harekete geçen her yetkili kullanıcı adına - Google'ın doğrulama incelemesini ve CASA Tier 2 güvenlik sertifikasını halihazırda tamamlamış bir çözüm - bu tür tüm arıza durumlarının yükünü omuzlarınızdan alır. Aşağıdaki karşılaştırma, hangi hataların ortadan kalktığını ve bunların yerine hangi altyapı işlerinin Unipile tarafından üstlenildiğini net bir şekilde göstermektedir. Bkz. Unipile Google OAuth belgeleri tam entegrasyon kılavuzu için.

Kendi başınıza tamir etmek mi, yoksa Unipile mi?

Bu rehberdeki her hata: düzeltmeyi kim sahip?

Yukarıda ele alınan 7 Google OAuth hatası ortak bir kökü paylaşır: Google Cloud projesine siz sahip olduğunuz için, her başarısızlık moduna da siz sahipsiniz. Bunun pratikte ne anlama geldiğine yan yana bir göz atalım.

Kendin onarmak Sizin sorumluluğunuz
yeniden_yönlendirme_urf_eşleşmiyor Google Cloud Console'da tüm yönlendirme URI'lerini yönetin
yönetici_politika_uygulandı Her kullanıcının Workspace yöneticisine bağlıdır - sizin kontrolünüzde değil
erişim_reddedildi / uygulama_engellendi Google doğrulama süreci + test kullanıcı yönetimi
geçersiz_hibe Kendi yenileme belirteci rotasyon mantığınızı oluşturun ve sürdürün
Rıza ekranı sorunları OAuth onay ekranını kendiniz yapılandırın ve bakımını yapın
geçersiz_kapsam Hangi kısıtlı kapsamların Google doğrulaması gerektirdiğini izleyin
Doğrulanmamış uygulama + 100 kullanıcı sınırı Google doğrulamasını ve CASA Seviye 2 değerlendirmesini kendiniz yapın
Hepsinin sahibi sensin ve hepsini ayıklıyorsun
Unipile ile Halledildi
Barındırılan kimlik doğrulama bağlantısı - yapılandırılacak onay ekranı yok Yönlendirme URI yönetimi, asla
Sizin için yönlendirme URI'leri işlendi redirect_uri_mismatch basitçe gerçekleşemez
Yenileme belirteçleri otomatik olarak yönetilir Kullanıcılarınıza Gmail'inizi yeniden bağlama hatası ulaşmasın
Unipile'ın önceden onaylanmış Google OAuth anahtarıyla bağlanın Doğrulanmamış uygulama uyarısı yok, 100 kullanıcı sınırı yok
CASA Seviye 2 Sertifikalı Unipile'ın Google OAuth anahtarı - bağımsız teknik aracılık
Kendi Google Cloud projenizi oluşturma ve sertifikalandırma adımını atlayın - kullanıcılarınızın Gmail'ini Unipile'ın zaten sertifikalı anahtarına bağlayın, ardından hazır olduğunuzda kendi anahtarınıza geçin (BYOC)
Kendi Google doğrulamanız tamamlanana kadar beklemeksizin kısıtlı Gmail kapsamlarına erişin
Unipile, her kimliği doğrulanmış kullanıcı adına istekleri işleyen bağımsız bir teknik aracılık hizmeti sunar.
Şimdi Unipile'ın sertifikalı anahtarıyla gönderin - sonra sahip olun Kullanıcılarınızın Gmail hesaplarını bugün Unipile'ın CASA Seviye 2 sertifikalı Google OAuth anahtarı üzerinden bağlamaya başlayın. Kendi Google Cloud doğrulamanızı paralel olarak çalıştırın. Temizlendiğinde, Kendi Kimlik Bilgilerini Getir (BYOC) ile kendi kimlik bilgilerinize geçin - kullanıcılarınız sizin markanızı görür, Unipile altyapıyı yönetmeye devam eder.
Bu hata sınıfları hiç görülmez

Temel fark: Unipile sizin adınıza aracılık ettiği bağlantılar için Google'ın güvenlik incelemesini ve CASA Seviye 2 değerlendirmesini zaten tamamladı. Bu, Google'ın güvenlik incelemesi için bir geçici çözüm değildir - Unipile zaten onu geçti. Kullanıcılarınız temiz bir onay ekranı görür ( "doğrulanmamış uygulama" uyarısı olmaz), uygulamanız hemen yayınlanır ve üretim tarihi baskısı olmadan kendi Google Cloud doğrulamalarınızı paralel olarak yürütebilirsiniz.

Gmail entegrasyonunuzu Google Cloud Console'a dokunmadan oluşturun Gmail hesaplarını Unipile'ın zaten sertifikalı Google OAuth anahtarına bağlayın. Yönlendirme URI'si yapılandırması yok, jeton döndürme mantığı yok, kullanıcılarınız için doğrulanamayan uygulama uyarıları yok.
Unipile'ın sertifikalı anahtarı üzerinde gemi

Uyumluluk notu: Unipile bir bağımsız teknik aracı, Google ile bağlantısı olmayan, Google tarafından onaylanmış veya sponsorluğu yapılmış değildir. Unipile'ın Google OAuth istemcisi CASA Seviye 2 sertifikalıdır ve kullanıcılarınızın Unipile aracılığıyla kurulan bağlantılarda "doğrulanmamış uygulama" uyarısı olmadan Gmail erişimini yetkilendirmesini sağlar. Bu, Google'ın güvenlik incelemesi için bir geçici çözüm değildir - Unipile zaten aracılık ettiği bağlantılar için bunu geçti. her yetkili kullanıcı adına. Kullanıcılar Google Hesabı izinleri sayfasından istedikleri zaman erişimi iptal edebilirler.

Unipile - Google OAuth Hataları SSS

Google OAuth Hataları SSS

Google OAuth hataları ve Gmail API hataları hakkında en sık sorulan soruların yanıtları, jeton yaşam döngüsü, yönetici politikaları, yönlendirme URI'leri ve Google Cloud Console yapılandırmasını kapsar.

01 "admin_policy_enforced" ne anlama gelir?

yönetici_politika_uygulandı Google Workspace süper yöneticisinin uygulamanızı veya talep ettiği belirli OAuth kapsamlarının o kuruluşta kullanıcılar tarafından yetkilendirilmesini engellediği anlamına gelir. Bu, kodunuzdaki bir hata değil, organizasyonel bir erişim kontrol politikasıdır. Düzeltme, Google Yönetici Konsolu'ndaki Workspace süper yöneticisinin işlem yapmasını gerektirir. Güvenlik > API denetimleri > Üçüncü Taraf Uygulama Erişimi Yönetimi.

Hayır. Normal bir kullanıcı admin_policy_enforced'ı düzeltemez. Yalnızca Google Workspace üst düzey yönetici Bu hatayı, uygulamayı Yönetici konsolunda Güvenilir olarak işaretleyerek çözebilirsiniz. Etkilenen kullanıcının BT yöneticisiyle veya Workspace süper yöneticisiyle iletişime geçerek belirli OAuth uygulamasının onaylı listeye eklenmesini istemesi gerekir.

Bu yeniden_yönlendirme_urf_eşleşmiyor localhost'ta, Google Cloud Console'da kaydettiğiniz URI'nin yerel geliştirme sunucunuzun kullandığı URI ile tam olarak eşleşmemesi durumunda meydana gelir. Örneğin, kaydetmek http://localhost:3000/callback ancak 3001 numaralı bağlantı noktasında çalıştırılması veya sonundaki eğik çizgiyi unutmak. Google izin verir http:// sadece https://) localhost URI'leri için. Yerel sunucunuzun kullandığı tam URI'yi, doğru bağlantı noktası numarası dahil olmak üzere kaydedin.

Hayır. Yetkili JavaScript kaynakları ve Yetkili yönlendirme URI'leri iki ayrı alandır. JavaScript kaynakları yalnızca tarayıcı tarafı OAuth akışları için kullanılır. Düzeltmek için yeniden_yönlendirme_urf_eşleşmiyor, e URI'yi eklemelisiniz Yetkili yeniden yönlendirme URI'leri alan, JavaScript kökenlerine değil.

Tek bir Google OAuth 2.0 istemcisi şunları içerebilir: 100 Yetkilendirilmiş Yönlendirme URI'leri kaydedildi. Bu, aynı istemci içinde farklı ortamlar (yerel geliştirme, hazırlık, üretim) ve farklı geri arama yolları için URI'ler kaydetmenize olanak tanır.

Eğer uygulamanız Yayınlanma durumunu test etme, Google yinelenen jetonlar süresi doluyor 7 gün kullanımına bakılmaksızın. Bu, doğrulanmamış uygulamalar için tasarım gereğidir. Tıklayarak Üretim durumuna taşıyın Uygulamayı Yayınla OAuth onay ekranı sayfasında uzun ömürlü belirteçler almak için. Üretim ortamında, yenileme belirteçleri, kullanıcınız uygulamayı en az altı ayda bir kullandığı sürece geçerlidir. Yönetilen bir alternatif için, lütfen sitemizi ziyaret edin Yönetilen Gmail API çözümü.

Google, kullanılmamış yenileme jetonlarını iptal eder 6 ay (yaklaşık 180 gün). Jetonlar şu durumlarda da geçersiz kılınır: kullanıcı Google hesap şifresini değiştirirse, kullanıcı Google Hesabı güvenlik ayarlarında uygulama erişimini iptal ederse, farklı kapsamlarla yeniden yetkilendirme yaparsanız veya tek bir kullanıcı-uygulama çifti için toplam yenileme jeton sayısı 50'yi aşarsa (en eskiler önce geçersiz kılınır). Sağlam e-posta entegrasyonları oluşturma hakkında tam bilgi için bkz. E-posta API kılavuzu.

Google, 2024'te Bulut Konsolu'nu yeniden tasarladı. OAuth onay ekranı yapılandırması artık içeride API'ler ve Hizmetler > OAuth'a genel bakış. Tıkla Uygulamayı Düzenle veya Markalaşma, Kitle ve Kapsam sekmelerini kullanın. Ayrıca kontrol edin: ihtiyacınız var Editör veya Sahip rolü projede (Görüntüleyici forma erişemiyor) ve doğru projede olduğunuzdan emin olun; bunun için konsolun üst kısmındaki proje seçiciyi kullanın.

Burada listelenmeyen bir Google OAuth hatasıyla mı karşılaşıyorsunuz? Hata ayıklamayı atlayın ve Unipile'ın Gmail OAuth'u sizin için halletmesine izin verin.

Başla
tr_TRTR