Calendar API paylaşılan bir hizmet olduğundan, tüm kullanıcılar tarafından adil şekilde kullanıldığından emin olmak için kotaları zorunlu kılıyoruz. Hızlı bir şekilde art arda çok sayıda yazma işlemi gerçekleştirirseniz hızınız sınırlandırılabilir. Daha fazla bilgi için genel Takvim kullanım sınırları'na göz atın. Ayrıca, Calendar API için geçerli iki kota vardır:
- Proje başına dakika başına: Projenizin tamamı tarafından yapılan istek sayısıdır. Projenizde çok sayıda kullanıcı varsa bu sayı artırılabilir.
- Kullanıcı başına proje başına dakika başına: Bu, projeniz tarafından belirli bir kullanıcı (isteği gerçekleştiren kullanıcı veya hizmet hesabı (erişilen takvimin sahibi olan kullanıcı olmayabilir) tarafından yapılan isteklerin sayısıdır. Bu değer genellikle artırılamaz. Bu nedenle, API'yi verimli bir şekilde kullandığınızdan emin olmanız önemlidir.
Bu kotalardan herhangi birinin aşılması durumunda hız sınırlandırılır ve sorgularınıza 403 "usageLimits" yanıtı veya 429 yanıtı alırsınız. Bu durumda üstel devre dışı bırakma yöntemini kullanmanız ve daha sonra tekrar denemeniz gerekir. Ayrıca, operasyonel nedenlerle herhangi bir zamanda oranı sınırlandırabilirsiniz, ancak bu genellikle çok nadirdir. Projeniz bu kotalar dahilinde kaldığı sürece, günlük olarak gönderebileceğiniz istek sayısı sınırlı değildir.
Kotalar, kayan bir pencere kullanılarak dakika başına hesaplanır. Bu nedenle, bir dakika boyunca dakika başına kotanızı aşan hızlı bir trafik patlaması, ortalama kullanımınızın sınırlar dahilinde kalmasını sağlamak için bir sonraki pencerede hız sınırlamasına neden olur.
Projenizin kullanım sınırlarını görüntülemek, değiştirmek veya kotanızda artış talep etmek için şunları yapın:
- Projeniz için faturalandırma hesabınız yoksa hesap oluşturun.
- API Konsolu'nda API kitaplığının Etkin API'ler sayfasını ziyaret edin ve listeden bir API seçin.
- Kota ile ilgili ayarları görüntülemek ve değiştirmek için Kotalar'ı seçin. Kullanım istatistiklerini görüntülemek için Kullanım'ı seçin.
Eksponansiyel geri yükleme kullan
İstek hızınızı yavaşlatmanızı istediğimizde 403 "usageLimits" yanıtı veya bir 429 yanıtı döndürür (tam hata belgelerine bakın). Bu önemli bir hata değildir ve kısa bir süre sonra isteği yeniden denemenizi bekliyoruz. İstekler yine de çok hızlı geliyorsa tekrar sorarız ve bu şekilde devam ederiz. Bu sürecin doğru şekilde işlemesi için istekler arasındaki gecikmelerin zaman içinde artması önemlidir.
Genellikle kısaltılmış üstel geri yükleme yöntemini kullanmanız önerilir. Bu sürecin işleyiş şekli ve tercih edilen algoritma hakkında Cloud Storage belgelerinde faydalı bir açıklama bulunmaktadır. Google istemci kitaplığı kullanıyorsanız bu işlem normal şartlarda sizin yerinize halledilir. Kitaplığınızdaki dokümanlara bakın. Normalde, kendi başınıza yazmak yerine kitaplık uygulamasını kullanmanız gerekir.
Trafik kalıplarını rastgele seç
Takvim istemcileri, aynı anda işlem gerçekleştiren birden çok istemcinin neden olduğu ani trafik kalıplarına eğilimlidir. Örneğin, yaygın olarak görülen bir karşıt kalıbı, Takvim istemcisinin gece yarısı tam senkronizasyon gerçekleştirmesidir. Bu durumun dakika başına kotanızı aşması neredeyse garanti edilir, bu da hız sınırlamasına ve geri çekmelere neden olur.
Bunu önlemek için, trafiğinizin gün içine mümkün olduğunca yayıldığından emin olun. Müşterinizin günlük bir senkronizasyon yapması gerekiyorsa müşteriden rastgele bir zaman (her müşteri için farklı) belirlemesini isteyin. Bir işlemi düzenli olarak gerçekleştirmeniz gerekiyorsa aralığı +/- %25 olarak değiştirin. Bu, trafiği daha eşit sıklıkta dağıtır ve çok daha iyi bir kullanıcı deneyimi sağlar.
Push bildirimlerini kullanma
Yaygın bir kullanım alanı, kullanıcının takviminde bir değişiklik olduğunda bir işlem gerçekleştirmektir. Buradaki karşıt eğilim, ilgilendiğiniz her takvimi tekrar tekrar yoklamaktır. Bu işlem tüm kotanızı hızlı bir şekilde tüketir. Örneğin, uygulamanızda 5.000 kullanıcı varsa ve her kullanıcının takvimini dakikada bir kez sorguluyorsa, herhangi bir iş yapılmadan önce dakika başına en az 5.000 kota gerekir.
Sunucu tarafı uygulamalar push bildirimlerine kaydolabilir. Böylece, ilginizi çekecek bir şey olduğunda sizi bilgilendirebiliriz. Bu cihazların ayarlanması daha fazla çalışma gerektirir ancak kotanızın önemli ölçüde daha verimli bir şekilde kullanılmasını sağlar ve daha iyi bir kullanıcı deneyimi sağlar. Daha fazla bilgi için Push bildirimleri başlıklı makaleyi inceleyin.
Hizmet hesaplarıyla doğru hesaplama
Uygulamanız, istekleri alan genelinde yetki kullanarak gerçekleştiriyorsa varsayılan olarak hizmet hesabından, kimliğine büründüğünüz kullanıcı yerine "kullanıcı başına proje başına dakikalık" kotalara göre ücretlendirilir. Bu, birden fazla kullanıcının takviminde çalışıyor olsa bile hizmet hesabının büyük olasılıkla kotası tükeneceği ve ücret sınırlı olacağı anlamına gelir. Hangi kullanıcıdan ödeme alınacağını belirtmek için quotaUser
URL parametresini (veya x-goog-quota-user
HTTP üst bilgisini) kullanarak bunu önleyebilirsiniz. Bu yalnızca kota hesaplamaları için kullanılır. Daha fazla bilgi edinmek için Cloud belgelerindeki Kullanıcı başına isteği sınırlama bölümüne bakın.
Kota sınırı işleme sürecini test etme
Uygulamanızın, kullanımdaki kota sınırlarına ulaşma sürecini sorunsuz şekilde ele alabilmesini sağlamak (ör. üstel geri yükleme ile yeniden denemeler yaparak) ve kullanıcılarınızda görülebilecek olası rahatsızlıkları en aza indirmek için bu senaryoyu gerçek bir ortamda test etmenizi önemle tavsiye ederiz.
Bu tür bir testin gerçek uygulama kullanımınızı etkilememesi için Google API Konsolu'na ayrı bir yalnızca test amaçlı proje kaydettirmenizi ve bunu üretim projenize benzer bir şekilde yapılandırmanızı öneririz. Daha sonra bu proje için yapay olarak düşük kotalar ayarlayabilir ve uygulamanızın davranışını gözlemleyebilirsiniz.
Fiyatlandırma
Google Calendar API'nin kullanımı için ek ücret alınmaz. Kota istek sınırlarını aşabilmek için ek ücret alınmaz ve hesabınız faturalandırılmaz.