Gmail API Limitleri 2026 Kotalar, Hız Sınırları, ve Onlarla Nasıl Başa Çıkılır
Dakika başına, kullanıcı başına ve günlük sınırları, yöntem başına birim maliyetleri, 429 hatası işlemeyi ve kimliği doğrulanmış kullanıcılar için üretim ortamına hazır bir üstel geri çekilme modelini kapsayan eksiksiz Gmail API kota kılavuzu.
async function withBackoff(fn, maxRetries = 5) { let delay = 1000; for (let i = 0; i < maxRetries; i++) { try { return await fn(); } catch (err) { if (err.code !== 429) throw err; const jitter = Math.random() * 500; await sleep(delay + jitter); delay *= 2; } }}Kimliği doğrulanmış kullanıcı oturumuna kapsamlanmış
Unipile, Gmail posta kutusu verilerinin paralel bir arşivini sağlamaz. Tüm e-posta erişimi kimliği doğrulanmış kullanıcının oturumuna kapsamlanmış Açıkça OAuth onayı vermiş kişiler. Belirli isteği sunmak için gerekenden bağımsız olarak hiçbir veri saklanmaz.
Bağımsız teknik aracı
Unipile, bir olarak görev yapar bağımsız teknik aracı, Her bir kimliği doğrulanmış kullanıcı adına Gmail API çağrıları yaparak. Unipile, Google'ın ortağı veya iştiraki değildir. Kullanıcılar arasında herhangi bir kimlik bilgisi paylaşılmaz. Her OAuth jetonu, ona izin veren kullanıcıya özeldir.
Kadans müşteri tarafı bir karardır
Unipile, Google tarafından tanımlanan Gmail API hız sınırlarını ve kota kısıtlamalarını aktarır. Yapılan API çağrılarının sıklığı ve hacmi adına her kullanıcı bir müşteri tarafı kararı. Unipile, kota hatalarını ayıklar ve geri çekilme mantığını uygular, ancak çağrı ritmi geliştiricinin kontrolünde kalır.
Gmail API sınırlarına bir bakış
Tek bir satır yeniden deneme mantığı yazmadan önce, Google'ın uyguladığı üç kota ekseninin de net bir resmine sahip olmanız gerekir. Aşağıdaki tablo, işaretleyeceğiniz referanstır: proje başına işlem hacmi, kullanıcı başına sınırlar ve Pasifik saatiyle gece yarısı sıfırlanan günlük tavan.
| Limit | Değer | Boyut | Notlar |
|---|---|---|---|
| Gmail API kota sınırı (kota birimleri) | 1.200.000 / dk | GCP projesi başına | Projedeki tüm kullanıcılara açık |
| Kullanıcı başına Gmail API kota sınırı | 6.000 / dk | Kullanıcı başına posta kutusu | 429 hata kodunun üretim ortamındaki en yaygın tetikleyicisi |
| Günlük kota | 80.000.000 / gün | GCP projesi başına | Pasifik saatine göre gece yarısı sıfırlanır |
| Gmail gönderme kotası (ücretsiz Gmail) | 500 e-posta / gün | Gönderici adresi | Günde 2.000 Google Workspace |
| Posta kutusu başına eşzamanlı istekler | 50 | Posta kutusu başına | Gizli limit - kotadan bağımsız olarak 429 hatası tetikler |
| Toplu istekler çağrı başına | 100 istek | Yığın çağrısı başına | Yığın kullanarak kota birimi tüketimini azaltın |
| Maksimum mesaj boyutu (ekler) | 25 MB | Mesaj başına | Başlıklar dahil ve kodlanmış gövde |
Kaynak: Google Developers belgeleri, Gmail API - Kullanım Sınırları (son doğrulama Mayıs 2026). Sınırlar değişebilir; projenizdeki güncel değerler için her zaman GCP konsolunuzdaki kotalar sayfasını kontrol edin.
Üç kota boyutu
Gmail API kullanım limitleri aynı anda üç bağımsız eksende çalışır. Üçünden ikisi iyi durumda olsa bile bir istek engellenebilir. Proje başına, kullanıcı başına ve günlük limitler arasındaki ayrımı anlamak, kimliği doğrulanmış herhangi bir kullanıcı için dayanıklı kod yazmanın ilk adımıdır.
Proje başına (GCP)
1.200.000 birim/dakikaBu bir tavan toplama tek bir GCP projesindeki tüm kullanıcılar arasında. Her biri eş zamanlı olarak Gmail API çağrıları yapan 500 kimliği doğrulanmış kullanıcınız varsa, tüm kotaya harcadıkları tüketim bu tek sepete karşı sayılır. Bu noktaya ulaşmak şunları tetikler: rateLimitAşıldı Günlük karşılığı 429'dur. 80 milyon adet, Pasifik saatiyle gece yarısı sıfırlanıyor.
Kullanıcı başına (posta kutusu başına)
6.000 birim/dakBu sınır, bağımsız olarak şunlara uygulanır her kimliği doğrulanmış kullanıcı. Projenizin kota alanı olsa bile, tek bir kullanıcının kendi posta kutusunu hızlı yoklama ile zorlaması bir şeye neden olacaktır KullanıcıKotaAşıldı Çok kiracılı uygulamalarda çoğu zaman tetiklenen sınır budur: paylaşımlı değil, kullanıcı başına belirlenmiştir.
Günlük kota
80.000.000 birim/günGünlük limit aynı zamanda proje bazındadır. 60 saniye sonra otomatik olarak sıfırlanan dakikalık pencerelerin aksine, günlük kota Pasifik'e kadar daha fazla API erişimi yok. Hata günlükLimitAşıldı. GCP konsolu üzerinden kota artışı talep edebilirsiniz - bunları çok kiracılı bölümde ele alıyoruz.
Önemli: Yukarıdaki gmail api hız sınırları, ham istek sayılarından ziyade "kota birimleri" cinsinden ölçülür. mesajlar.gönder arama 100 birim, ise bir mesajlar.liste sadece 5 maliyetlidir. Bu, pratik istek bütçenizin hangi yöntemleri çağırdığınıza bağlı olarak önemli ölçüde değişiklik göstereceği anlamına gelir. Bir sonraki bölümde birim maliyet tablosuna bakın. Ayrıca şunu da unutmayın ki OAuth kapsam doğrulaması rıza akışı hataları, bu çalışma zamanı kota hatalarından tamamen ayrıdır.
Yöntem başına kota birim maliyeti
Tüm Gmail API çağrıları eşit değildir. Google, kullanıma kota oranını soyut "birimler" olarak sayar ve her yöntemin farklı bir maliyeti vardır. Bu maliyetleri bilmek, gerçek istek kapasitenizi hesaplamanıza ve hangi uç noktalara istek yapacağınızı optimize etmenize olanak tanır. Kullanıcı başına 6.000 birim/dakika olan Gmail API hız sınırı, çağrı karmasına bağlı olarak çok farklı davranır.
| Yöntem | Birim Maliyet | İstekler / dk (kullanıcı başına) | Optimizasyon ipucu |
|---|---|---|---|
| mesajlar.gönder | 100 | Dakikada 60 gönderim maks | En yüksek maliyet - taslak kullan + yalnızca gerektiğinde gönder |
| mesajlar.ekle | 25 | 240/dakika maksimum | Posta kutusuna ekleme - göndermeden daha düşük |
| threads.get | 10 | 600/dakika maksimum | birden çok messages.get yerine threads.get'i tercih edin |
| messages.get | 5 | 1.200/dak maks | fields=partial yanıt, maliyeti 5'te tutmak için |
| mesajlar.liste | 5 | 1.200/dak maks | Senkronizasyon desenleri için history.list kullanın |
| konular.liste | 5 | 1.200/dak maks | Maksimum sonuçlarla sayfalama, çağrıları azaltır |
| kullanıcıların.geçmişi.listesi | 2 | 3.000/dak maks | Artımlı senkronizasyon için en iyisi - en düşük maliyetli yoklama |
| etiketler.liste | 1 | dakikada 6.000 maks | Sonucu önbelleğe al - etiketler nadiren değişir |
| mesajlar.değiştir | 5 | 1.200/dak maks | Toplu etiket güncellemeleri için batchModify'i kullanın |
| mesajlar.ekler.al | 5 | 1.200/dak maks | Yalnızca açıkça gerektiğinde ekleri getir |
İpucu: Kullanabilirsiniz alanlar= kısmi yanıtlar için sorgu parametresi. Uygulamanızın ihtiyaç duyduğu alanları istemek, ham birim maliyetini düşürmese de yanıt yükü boyutunu ve gecikmeyi önemli ölçüde azaltır - bu, gmail api kota sınırlarına yaklaştığınızda buna değer bir durumdur. Sorgularınızı etkileşimli olarak şu adresten test edin Gmail OAuth Oyun Alanı Üretim ortamına göndermeden önce.
Gizli 50-posta kutusu başına eşzamanlı istek sınırı
Gmail API eğitimlerinin çoğunda bahsedilmeyen ancak çok kullanıcılı veya eşzamansız uygulamalarda gizemli 429 hatalarına neden olan bir sınır vardır: Gmail maksimum şunları uygular: posta kutusu başına 50 eşzamanlı uçuş içi istek. Bu sınır, kota birim bütçenizden tamamen bağımsızdır. 6.000 kullanım hakkınızın 500'ünü kullanıyor olsanız bile, aynı kimliği doğrulanmış kullanıcının posta kutusuna karşı aynı anda 51 istek açık olması durumunda 429 alabilirsiniz.
Bu geliştiricileri neden şaşırtıyor
Node.js gibi asenkron çerçeveler Promise.all() veya Python asyncio.gather() 100'den fazla eşzamanlı isteği göndermeyi son derece kolay hale getirin. Bir posta kutusu senkronizasyonunu işlediğinizde ve 200 mesajı aynı anda almak için yaydığınızda tek bir kimliği doğrulanmış kullanıcı adına, Gmail bir gelen kutusuna karşı 200 açık TCP bağlantısı görüyor ve hemen hızını düşürüyor. GCP'deki kota panosu bol miktarda kalan birim gösterecektir - 50 eşzamanlılık sınırı bir kota metriği olarak gösterilmez.
Tetiklendiğinde
50 eşzamanlı komut sınırı, toplu posta kutusu senkronizasyon işlemleri sırasında tetiklenir: büyük iş parçacıklarını almak, birçok mesaja ait ekleri aynı anda indirmek veya büyük etiket sayfasında sayfalama yaparken aynı anda sonuçları işlemek. Aynı posta kutusuna 50'den fazla devam eden istek başlatan herhangi bir kod bu sınıra ulaşacaktır.
Nasıl düzeltebilirim
Node.js'te semafor gibi kütüphaneler kullanarak kimliği doğrulanmış kullanıcı başına eşzamanlılık sınırlayıcısı (concurrency limiter) kullanın. p-limit İyi çalışır. Python'da bir asyncio.Semaphore(40) Kişi başı eşzamanlılığınızı 50'nin altında güvenli bir payla patlamayı önleyecek şekilde ayarlayın. 40 veya altında güvenlik payı için.
// p-limit, kullanıcı başına eşzamanlılığı 40'ın altında tutarİthalat pSınır itibaren 'p-limit';// Her kimlik doğrulanmış kullanıcı için bir sınırlayıcı örneği (userId'ye göre anahtarlanmış)const kullanıcıSınırlayıcıları = yeni Harita();fonksiyon Limit Al(kullanıcıId) { eğer !kullanıcıSınırlayıcılar.var(userId)) { kullanıcıSınırlandırıcılar.et(kullanıcıKimliği, pSınır(40)); } return kullanıcıSınırlandırıcılar.olsun(kullanıcıId);}// Kullanıcının sınırlayıcısı ile her Gmail API çağrısını sarmalayınasync function mesaj getir(gmail, kullanıcıId, mesajId) { const sınır = Limit Al(kullanıcıId); return limit(() => gmail.users.messages.olsun({ userId: 'ben', id: mesajId, alanlar 'id,threadId,payload.headers,snippet' }));}Hataları çözme: 429 ve 403
Gmail API, kota ve erişim sorunları için iki farklı HTTP durum kodu döndürür: 429 (Too Many Requests) ve 403 (Forbidden). Bu iki kod içinde, her biri farklı bir kök nedene ve farklı bir çözüme sahip dört farklı hata nedeni bulunur. Bunları karıştırmak hata ayıklama süresini boşa harcar. Not: OAuth akışı hataları gibi geçersiz_hibe mısın yenileme belirteci hataları - bunlar çalışma zamanındaki gmail api hız sınırlamalarından tamamen ayrıdır.
| HTTP Kodu | Hata Nedeni | Sebep | Düzelt |
|---|---|---|---|
| 429 | rateLimitAşıldı | GCP proje düzeyinde dakika başına 1,2 milyar kota birimini aştı. Projedeki tüm kimliği doğrulanmış kullanıcılar toplu olarak bu sınıra ulaştı. | Üstel geri çekilme + titreşim. Bekle ve yeniden dene. Uzun vadede: Birden çok GCP projesine parçala veya kota artışı isteyin. |
| 429 | KullanıcıKotaAşıldı | Tek bir kimliği doğrulanmış kullanıcı, dakikada 6.000 kota birimini aştı VEYA posta kutusuna eş zamanlı 50 istekten fazlasını gönderdi. En yaygın üretim 429 hatası. | Kullanıcı başına kuyruk ve eşzamanlılık sınırlayıcı. Semaphore desenini uygula (maksimum 40 eşzamanlı). 429 denemelerinde üstel geri çekilme ekle. |
| 403 | günlükLimitAşıldı | GCP projesi Pasifik saatine göre gece yarısından önce günlük 80 milyon kota biriminin tamamını tüketti. Yeniden başlatılana kadar tekrar denenemez. Bu kesin bir durmadır. | Gece yarısı Pasifik sıfırlanmasını bekle veya GCP konsolu üzerinden kota artışı talep edin. Uygulamanızda kullanıcı başına günlük kota bütçesi uygulayın. |
| 403 | KotaAşıldı | Belirli bir alt kota aşıldı. Aynı zamanda belirli bir gönderici adresi için Gmail gönderme kotasının (ücretsiz 500 e-posta/gün, Workspace 2.000 e-posta/gün) aşıldığını da gösterebilir. | Hangi koutayı kontrol et. Gönderim kotası için: gönderim adresini değiştirin veya 24 saat bekleyin. Diğer alt kotlar için: GCP kotalar panosunda belirli metriği belirleyin. |
Proje düzeyinde tavan aşımı: Tüm kullanıcılar için dakika başına 1,2 M kota birimi.
Düzelt: Üstel geri çekilme + titreme. Uzun vadede: birden fazla GCP projesi veya kota artışı talebi.
Tek kullanıcı dakikada 6.000 birimi veya 50 eşzamanlı isteği aştı. En yaygın 429.
Düzelt: Kullanıcı başına kuyruk + semafor (maksimum 40 eşzamanlı). Geri çekilme denemesini ekle.
Proje 80 M'lik günlük kota birimlerinin tamamını tüketti. Pasifik saatiyle gece yarısına kadar kesin duruş.
Düzelt: Sıfırlanmasını bekleyin veya GCP konsolu üzerinden kota artışı talep edin.
Gönderici için alt kota veya Gmail gönderme kotası (ücretsiz 500/gün, Workspace 2.000) aşıldı.
Düzelt: Belirli bir alt kota için GCP panosunu kontrol et. Göndermek için: adresi değiştir veya 24 saat bekle.
geçersiz_hibe, erişim_engellendive geçersiz_istemci OAuth belirteci değişim katmanından gelir, Gmail API kota zorlamasından değil. Ayrı olarak ele alınırlar Google OAuth Hataları Kılavuzu. 401 Unauthorized hatası alırsanız, bu da bir kimlik doğrulama sorunudur - kontrol edin OAuth uygulama doğrulaması durumu ve olup olmadığı yenileme jetonu süresi doldu. Üretime hazır kullanım: üssel geri çekilme + rastgele gecikme
Gmail API'sinden gelen 429 hatasına karşı tek doğru yanıt üstel geri çekilmedir. Hemen yeniden denemek sorunu daha da kötüleştirir: Zaten kısıtlanmış bir kota penceresine daha fazla istek yığarsınız. Rastgele titreşim eklemek, bir filo içindeki tüm istemcilerin tam olarak aynı anda yeniden denediği "gök gürleyen sürü" sorununu önler. Aşağıda Node.js ve Python'da tam, üretimde test edilmiş uygulamalar bulunmaktadır.
İlk gecikme
İlk denemede 1.000 ms ile başla. 429'dan hemen sonra asla tekrar deneme.
Kuvvet çarpanı
Her denemede gecikmeyi ikiye katla: 1s, 2s, 4s, 8s, 16s. Maksimum 32-64 saniyeyle sınırla.
Rastgele titreme
Eşzamanlı işçiler arasındaki senkronize yeniden denemeleri önlemek için 0-500ms rastgele titreme ekleyin.
// gmail-backoff.js - production-ready exponential backoff + jitter// Handles rateLimitExceeded and userRateLimitExceeded (gmail api rate limits)const sleep = (ms) => new Promise(r => setTimeout(r, ms));async function withGmailBackoff(fn, { maxRetries = 5, initialDelay = 1000, maxDelay = 32000, jitter = 500} = {}) { let delay = initialDelay; for (let attempt = 0; attempt < maxRetries; attempt++) { try { return await fn(); } catch (err) { const code = err?.code || err?.response?.status; const reason = err?.errors?.[0]?.reason || ''; // Only retry on quota errors - not on 403 dailyLimitExceeded const isRetryable = code === 429 || reason === 'rateLimitExceeded' || reason === 'userRateLimitExceeded'; if (!isRetryable || attempt === maxRetries - 1) throw err; const wait = Math.min(delay + Math.random() * jitter, maxDelay); await sleep(wait); delay *= 2; } }}// Usage: on behalf of each authenticated userconst message = await withGmailBackoff(() => gmail.users.messages.get({ userId: 'me', id: messageId }));# gmail_backoff.py - Gmail API hız sınırları için üstel geri çekilme + jitterİthalat asenkron, rastgeleitibaren googleapiclient.hataları İthalat HttpHatasıasenkron olarak tanımla gmail_geri_vitesle( fonksiyon, yeniden_deneme_sayısı=5, başlangıç_gecikmesi=1.0, maksimum_gecikme=32.0, titreşim=0.5): "Herhangi bir Gmail API çağrısını üstel geri çekilme + rastgele titreme ile sarmalayın. Gmail API hız sınırlarını ele alır: rateLimitExceeded ve userRateLimitExceeded. """ gecikme = ilk_gecikme için deneme içinde range(en fazla_deneme_sayısı): denemek: return fn() # işlevi, senkronize bir Gmail istemcisi çağrısıdır hariç HttpHatası olarak e: durum = e.resp.durum sebep = e.error_details[0].olsun('sebep', '') eğer e.hata_detayları aksi takdirde '' #, 429 hatasında yeniden dene; dailyLimitExceeded hatasında YENİDEN DENEMEYİN tekrar_denenebilir = durum == 429 veya sebep içinde ( 'hızLimitiAşıldı', 'KullanıcıOranSınırıAşıldı' ) eğer değilse tekrar denenebilir veya deneme == maks_tekrar_deneme - 1: yükseltmek bekle = ben(gecikme + rastgele.üniforma(0, titreme), maks_gecikme) bekliyor asenkron.uykubekle gecikme *= 2Limitin altında kalma stratejileri
Backoff acil durumları yönetir. Bu proaktif stratejiler, Gmail API kota sınırlarına ulaşmanızı en başından önler. Bu stratejiler, kota tüketiminiz üzerindeki etkilerine göre en yüksekten en düşüğe doğru sıralanmıştır. Bunlardan ikisini veya üçünü bir araya getirerek, tipik olarak okuma yoğunluğu yüksek iş yüklerinde birim maliyetinizi % oranında azaltabilirsiniz.
Kimliği doğrulanmış kullanıcı için kuyruk
Ayrı bir istek kuyruğu tutun kimliği doğrulanmış kullanıcı. Farklı kullanıcılardan gelen istekleri asla paylaşılan bir havuza karıştırmayın. Bu, kullanıcı başına hız sınırlaması maruziyetini izole eder ve adil kuyruğa alma sağlar: bir kullanıcı 429 hatası tetiklerse, yalnızca kendi kuyruğu durur - diğerleri tam hızda devam eder. Kullanıcı başına bir belirteç kovasıyla Redis veya bellek içi bir kuyruk kullanın.
sync için messages.list yerine history.list kullanın
Oylama mesajlar.liste Zamanlayıcıda kullanmak, en yaygın Gmail API kullanım sınırlaması hatasıdır. kullanıcıların.geçmişi.listesi sadece maliyet 2 adet (mesajlar.listesi için 5'e karşılık) ve yalnızca son senkronizasyon noktasından bu yana geçen farkı döndürür. Büyük posta kutularını senkronize eden, okuma yoğunluğu yüksek uygulamalar için bu ayar tek başına kota tüketimini oranında azaltabilir. Şunu saklayın tarihKimliği Her yanıttan imlecinizi ayırın. Yakın gerçek zamanlı senkronizasyon için Gmail Anlık Bildirimleri (Pub/Sub) ile eşleştirin.
Toplu API çağrıları
Gmail API toplu istekleri destekler: en fazla 100 bireysel talep tek bir HTTP isteği halinde. Her alt istek normal birim maliyetini saymaya devam eder, ancak TCP iletişim yükünü ve harcanan hız sınırlayıcı "yuvaları" azaltırsınız. Bu özellikle şunlar için etkilidir messages.get sync delta'dan birçok ileti getirmeniz gereken işlemler. Gmail Toplu Kılavuzu uygulama ayrıntıları için.
Kısmi yanıtlar kullan (fields=)
Her Gmail API yöntemi destekler alanlar= parametresini kullanarak yalnızca ihtiyacınız olan özellikleri isteyebilirsiniz. Bu, isteğin birim maliyetini düşürmese de, yanıt yükünü -90 oranında azaltır ve gecikme süresini iyileştirir. Bir messages.get sadece dönen id,threadId,payload.headers,snippet, yük 40 KB'den 2 KB'nin altına düşer. Daha az ağ = daha hızlı yineleme = gmail api günlük kota sınırına ulaşmadan önce daha fazla boş alan.
Push vs Poll: doğru senkronizasyon modeli
Anket başına 5 birim + her yeni mesajı almak için N x 5 birim. 100 kullanıcı x 30 saniyelik aralık için = yalnızca anket yükü ile saatte 1 milyon birim.
Her sorguda 2 birim, yalnızca son senkronizasyondan bu yana yapılan değişiklikleri döndürür. Aynı sonuç için messages.list sorgusuna göre 60% daha ucuzdur.
Teslimat için sıfır kota maliyeti. Bir posta kutusu değiştiğinde Google bildirim gönderir – yalnızca farkları alırsınız. Genel bir webhook uç noktası gerektirir. Neredeyse gerçek zamanlı uygulamalar için idealdir.
Çok kiracılı ölçeklendirme ve kota artışı talebinde bulunma
Birkaç bağlı hesabı aştığınızda, Gmail API kotaları mimari bir endişe haline gelir. Bu bölüm, büyük ölçekli dağıtımlar için GCP proje parçalama ve Google'dan Gmail API kota artışı isteme adım adım sürecini kapsar.
GCP proje parçalama
1.2M kota birimi/dakika sınırı şudur GCP projesi başına. 1.000 doğrulanmış kullanıcınızın hepsi aktif olarak senkronizasyon yapıyorsa, etkili proje düzeyindeki kapasitenizi ikiye katlamak için bunları iki GCP projesine bölebilirsiniz. Her projenin kendi OAuth istemci kimlik bilgilerine ve onay ekranına ihtiyacı vardır. Proje A'ya bağlı kullanıcılar proje B'nin kotasını kullanamaz. Bu, özellikle Gmail API günlük kota üst sınırının bir endişe olduğu yüksek hacimli e-posta senkronizasyon senaryoları için kullanışlıdır. Kota kullanımınızı izleyin GCP konsolunda sharding'in ne zaman gerektiğini bilmek için.
Kota artışı talebi
Google, istek üzerine kota artışları sağlar ancak bu süreç zaman alır (ilk inceleme genellikle 3-5 iş günü sürer, büyük artışlar için ise 2 haftaya kadar uzayabilir). GCP Konsolu üzerinden gönderin: API'ler ve Hizmetler > Gmail API > Kota Sınırları > "Daha yüksek kota talep et"". Google ayrıntılı bir gerekçe gerektirir. Dahil edilecek temel öğeler: tahmini günlük aktif kullanıcı sayısı, kullanıcı başına ortalama günlük istek sayısı, yöntemlere göre döküm (mesajlar.gönder vs mesajlar.liste vb.), ve üretim kullanım örneğini belirtmeniz gerekmektedir. Belirsiz istekler reddedilir. Staging telemetrinizden somut sayılar sağlayın.
Günlük kota takibi ve bütçesi
Kendi veri katmanınızda kimliği doğrulanmış kullanıcı başına kota bütçesi takibi uygulayın. Takip edin kullanılanKotaBirimleri her kullanıcı için günlük olarak. Bir kullanıcı, kullanıcı başına günlük bütçesinin 70-80%'sine yaklaştığında, o kullanıcı için günün geri kalanında aktif senkronizasyondan yalnızca push moduna geçin. Bu, yüksek hacimli bir kullanıcının proje düzeyindeki günlük kotayı orantısız bir şekilde tüketmesini önler. Kullanıcı başına ne kadar kota tahsis edeceğinizin sıklığı bir müşteri tarafı kararı Uygulama tasarımınız açısından.
Kota artışı talebinize neleri dahil etmeniz gerektiği
Mevcut kullanım tabanı: "Şu anda Y aktif kullanıcı üzerinden günde X milyon birim kullanıyoruz."
Büyüme projeksiyonu "6 ay içinde Z kullanıcı bekliyoruz, bu da günde yaklaşık W milyon birim gerektirecek."
Kullanım durumu: "Ürünümüz, Gmail'i okuyarak [CRM senkronizasyonu / ATS gelen kutusu / e-posta analizleri] sağlar. Kullanıcılar OAuth aracılığıyla bireysel olarak kimlik doğrulaması yapar."
Yöntem dökümü: ""Başlıca yöntemler: messages.list (40%), messages.get (35%), history.list (20%), messages.send (5%).""
Kimliği doğrulanmış kullanıcı adına Gmail'in daraltılmasını Unipile nasıl yönetir
Bu kılavuzda açıklanan tüm akış sınırlama altyapısını (kullanıcı başına kuyruklar, semaforlar, üstel geri çekilme, günlük kota bütçeleme, GCP proje yönetimi) kurmak haftalar sürer ve sürekli bakım gerektirir. Unipile, tüm bunları bağımsız bir teknik aracı olarak halleder, böylece ekibiniz kota işlemleri yerine ürün mantığına odaklanıyor. Unipile aracılığıyla Gmail API erişimi Google ile bağlantılı değildir, Google tarafından onaylanmamıştır veya Google tarafından desteklenmemektedir.
Yönetilen üssel geri çekilme + titreme
Yapılan her Gmail API çağrısı adına Kimliği doğrulanmış her kullanıcı, Unipile’ın geri çekilme katmanından geçer. 429 hataları kodunuz için şeffaftır: Unipile, tam üstel geri çekilme ve jitter ile otomatik olarak yeniden deneme yapar ve maksimum deneme sayısına ulaşıldıktan sonra yalnızca nihai başarıyı veya net bir hatayı gösterir.
Kullanıcı başına kuyruk izolasyonu
Unipile kullanıcı başına katı bir izolasyon sağlar. Sınırlandırılmış kimliği doğrulanmış bir kullanıcı asla başka bir kullanıcının verimliliğini etkilemez. Her bağlı hesap kendi kuyruğuna, bireysel eşzamanlılık sınırlarına sahiptir ve tüm kullanıcı tabanınızda adil kaynak tahsisi sağlar.
Birleşik model: Gmail + Outlook + IMAP
Aynı kısıtlama mantığı, tamamında tekdüze olarak uygulanır Gmail, Görünüm (Microsoft 365 ve Exchange Online) ve IMAP. Uygulamanız, kimliği doğrulanmış kullanıcının bağlı olduğu e-posta sağlayıcısından bağımsız olarak standartlaştırılmış tek bir API kullanır. Bakım yapmanız gereken sağlayıcıya özel hız sınırı kodu yok.
GDPR uyumlu, SOC2 uyumlu
Unipile aracılığıyla erişilen veriler kimliği doğrulanmış kullanıcının oturumuna kapsamlanmış OAuth onayını kim verdi. Paralel arşiv yok, oturum gereksinimlerinin ötesinde posta kutusu verilerinin uzun vadeli depolanması yok. GDPR ve SOC2 uyumluluğu yerleşik.
Unipile ile: geri çekilme yok, semafor yok, kota takibi yokUnipile, tüm gmail api hızLimitlerini bağımsız bir teknik aracı olarak yönetirİthalat UnipileClient itibaren '@unipile/node-sdk';const müşteri = yeni UnipileClient({ apiKey: process.env.UNIPILE_API_KEY, baseUrl: 'https://api3.unipile.com:13613'});// Kimliği doğrulanmış bir kullanıcının bağlı Gmail hesabındaki iletileri listele// Throttling (kısıtlama), backoff (gecikme), ve kullanıcı başına izolasyon sunucu tarafında Unipile tarafından ele alınırasync function SonE-postalarıAl(hesapKimliği) { const mesajlar = bekliyor client.messaging.mesajlarıListele({ account_id: accountKimliği, // kimliği doğrulanmış kullanıcının bağlı hesabı Limit: 25 }); return mesajlar;}// Gmail, Outlook ve IMAP'e bağlı hesaplar için aynı şekilde çalışır// Aynı kod, sıfır sağlayıcıya özel hız sınırı işlemeGmail API Kota Sınırları - SSS
Gmail API hız sınırları, kota birimleri, 429 hataları ve entegrasyonunuzu ölçeklendirme hakkında en sık sorulan soruların yanıtları.
Gmail API, üç boyutta eşzamanlı olarak limitler uygular. Proje düzeyinde: dakikada 1.200.000 kota birimi tüm kullanıcılar arasında paylaşılan, ve günde 80.000.000 kota birimi. Kullanıcı düzeyinde: posta kutusu başına dakikada 6.000 kotası birimi. gizli bir limit de var posta kutusu başına 50 eşzamanlı istek Her yöntemin farklı bir birim maliyeti vardır - kotanın üst sınırının altında olsanız bile 429 hatasını tetikleyebilir. mesajlar.gönder 100 birim tutar mesajlar.liste sadece 5 maliyeti var.
Uygula titreşimli üstel geri çekilmeilk yeniden denemede 1.000 ms'de başla, her denemede ikiye katla, 0-500 ms rastgele gecikme ekle, 32.000 ms ile sınırla. Asla hemen yeniden deneme. eşzamanlılık sınırlayıcı kimliği doğrulanmış kullanıcı başına kapsamlı, posta kutusu başına uçuş içi istekleri 40'ın altında tutarak. Kullanın bir kullanıcı başına kuyruk yani bir tane sınırlı kullanıcı başkalarını etkilemez. Uzun vadede, yoklama işlemini şundan değiştirmek, mesajlar.liste (5 birim) ila tarih.liste (2 birim) ve yoklamayı tamamen ortadan kaldırmak için Gmail Anlık Bildirimlerini düşünün.
Gmail API günlük kota, GCP projesi başına 80.000.000 kota birimidir, Pasifik saatiyle gece yarısı sıfırlanıyor. Bu sınır şunları döndürür: 403 günlükLimitAşıldı hata - dakikalık 429 hatalarının aksine, bu günlük sıfırlanana kadar tekrar denenemez. Artırmak için: GCP Konsolu > API'ler ve Hizmetler > Gmail API'si > Kotalar > Daha yüksek kota isteyin. Mevcut kullanımı, büyüme projeksiyonlarını ve kullanım durumunuzu ekleyin. Onay genellikle 3-5 iş günü sürer.
Gmail Gönderim kotası günde 500 e-posta ücretsiz Gmail hesapları ve Günde 2.000 e-posta Google Workspace hesapları için. Bu sınır gönderici adresi başına olup API kota birimi bütçesinden ayrıdır. Her mesajlar.gönder çağrı da 100 kota birimi tutar, bu nedenle kullanıcı başına dakikada 6.000 birim sınırında, kullanıcı başına gmail api hız sınırına ulaşmadan dakikada en fazla 60 e-posta gönderebilirsiniz - ancak günlük 500/2.000 üst sınırı, tipik kullanım durumları için muhtemelen önce ulaşılacaktır.
rateLimitAşıldı Tüm GCP projesinin kimliği doğrulanmış kullanıcılar bir arada dakikada 1.200.000 kota birimini aştığı anlamına gelir. KullanıcıKotaAşıldı tek bir kullanıcının dakikada 6.000 kota birimini aştığı anlamına gelir veya Çok kiracılı prodüksiyon uygulamalarında, gönderilen 50'den fazla eşzamanlı istek kendi posta kutularına., KullanıcıKotaAşıldı genellikle daha yaygındır çünkü bireysel kullanıcılar, genel proje düzeyindeki boşluktan bağımsız olarak kendi sınırlarına ulaşabilirler. Her ikisi de HTTP 429 döndürür ve her ikisi de üssel geri çekilmeye yanıt verir.
Git GCP Konsolu > API'ler ve Hizmetler > Gmail API > Kota ve "Daha yüksek kota iste"yi tıklayın. İsteğiniz somut bir gerekçe içermelidir: mevcut günlük kullanım tabanı, 6 aylık kullanıcı büyümesi projeksiyonu, kullanıcıların OAuth aracılığıyla tek tek nasıl kimlik doğrulaması yaptığının açıklaması ve oransal olarak API yöntemlerinin dökümü. Belirsiz istekler reddedilir. Ayrıca uygulamanızın OAuth doğrulanmış - Doğrulanmamış uygulamalar, kota fark etmeksizin 100 test kullanıcısıyla sınırlıdır. İlk inceleme genellikle 3-5 iş günü sürer.
mesajlar.gönder maliyetler 100 kota birimi her çağrı - en pahalı Gmail API yöntemi. Kullanıcı başına dakikada 6.000 birim ile, kimliği doğrulanmış bir kullanıcı başına dakikada en fazla 60 e-posta gönderebilirsiniz. Karşılaştırma için: messages.get 5 birim (1.200 çağrı/dakika) tutar, tarih.liste 2 birim (3.000 çağrı/dakika) tutar ve etiketler.liste 1 birim (6.000 çağrı/dak) maliyeti vardır. Yüksek hacimli erişim için, kullanım durumunuzun gerçekten arama yapmayı gerektirip gerektirmediğini değerlendirin mesajlar.gönder veya taslak oluşturup toplu göndermenin daha verimli olup olmadığı.
Unipile yalnızca uygulamanız tarafından açıkça istenen verilere erişir, kimliği doğrulanmış kullanıcının oturumuna kapsamlanmış OAuth iznini kimin verdiğini. Mevcut API isteğini karşılamak için gerekenlerin ötesinde, paralel bir arşiv, posta kutusu verilerinin bağımsız bir uzun vadeli depolaması yoktur. Her kimliği doğrulanmış kullanıcının verileri izole edilmiştir: Unipile yalnızca o belirli kullanıcı adına bağımsız bir teknik aracı olarak hareket eder.
Her kimliği doğrulanmış kullanıcı adına yapılan API çağrılarının sıklığı ve hacmi bir müşteri tarafı kararı. Unipile, geri çekilme ve kuyruk altyapısını yönetir, ancak verileri ne sıklıkla isteyeceğinize uygulamanız karar verir. Unipile, kota hatalarını şeffaf bir şekilde ortaya çıkarır ve yeniden deneme mantığını uygular, ancak kaç kullanıcının eşzamanlı olarak senkronize olduğu ve ne sıklıkla olduğu dahil olmak üzere genel arama temposu, Unipile üzerine geliştirme yapan geliştirici olarak sizin kontrolünüzde kalır.
Hayır. Unipile Google ile ilişkili değildir, onaylanmamıştır veya sponsorlu değildir. Unipile, kullanıcıların kendi Google hesapları aracılığıyla ayrı ayrı OAuth izni verdiği doğrulanmış kullanıcılar adına Gmail API çağrıları yapan bağımsız bir teknik aracıdır. Gmail, Google LLC'nin ticari markasıdır. Tüm Gmail API kotaları, hız sınırları ve politikaları Google tarafından tanımlanır ve Unipile'dan bağımsız olarak değişebilir.
Gmail API sınırları ve Unipile entegrasyonu hakkında sorularınız mı var? Ekibimiz size yardımcı olmak için burada.
Geliştiriciler İçin E-posta API'si Tam Rehberi
Gmail sınırları, e-posta API resminin bir parçasıdır. Pillar kılavuzu, Gmail, Outlook ve IMAP entegrasyon modellerini uçtan uca kapsar.