Bu kılavuzda, bir uygulamanın User Deletion API'ye yapılan istekleri nasıl yetkilendirdiği açıklanmaktadır.
İstekleri yetkilendirme
Kullanıcıların Google Analytics web sitesinde hesap bilgilerini görüntüleyebilmeleri için öncelikle Google Hesaplarında oturum açmaları gerekir. Benzer şekilde, kullanıcılar uygulamanıza ilk kez eriştiklerinde uygulamanızın verilerine erişmesi için uygulamanızı yetkilendirmeleri gerekir.
Uygulamanız tarafından Analytics API'sine gönderilen her isteğin bir yetkilendirme jetonu içermesi gerekir. Bu jeton ayrıca uygulamanızı Google'a tanıtır.
Yetkilendirme protokolleri hakkında
Uygulamanız, istekleri yetkilendirmek için OAuth 2.0 kullanmalıdır. Başka hiçbir yetkilendirme protokolü desteklenmez. Uygulamanız Google ile Oturum Açma özelliğini kullanıyorsa yetkilendirme işleminin bazı kısımları sizin adınıza gerçekleştirilir.
OAuth 2.0 kullanarak istekleri yetkilendirme
Analytics API'sine gönderilen tüm isteklerin, kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmesi gerekir.
OAuth 2.0 ile yetkilendirme işleminin ("akış") ayrıntıları, yazdığınız uygulamanın türüne bağlı olarak değişiklik gösterir. Aşağıdaki genel işlem tüm uygulama türleri için geçerlidir:
- Uygulamanızı oluştururken Google API Konsolu'nu kullanarak kaydedersiniz. Ardından Google, daha sonra ihtiyaç duyacağınız bilgiler (ör. istemci kimliği ve istemci gizli anahtarı) sağlar.
- Google API Konsolu'nda Analytics API'yi etkinleştirin. (API, API Konsolu'nda listelenmemişse bu adımı atlayın.)
- Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
- Google, kullanıcıya uygulamanızı kullanıcının verilerinden bazılarını istemeye yetkilendirmesi için bir onay ekranı gösterir.
- Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
- Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verileri için istekte bulunur.
- Google, isteğinizin ve jetonun geçerli olduğuna kanaat getirirse istenen verileri döndürür.
Bazı akışlarda başka adımlar da yer alır. Örneğin, yeni erişim jetonları almak için yenileme jetonları kullanmak. Farklı uygulama türlerine yönelik akışlar hakkında ayrıntılı bilgi için Google'ın OAuth 2.0 dokümanlarına bakın.
Analytics API'si için OAuth 2.0 kapsam bilgileri şöyledir:
Kapsam | Anlamı |
---|---|
https://www.googleapis.com/auth/analytics.user.deletion |
User Deletion API'yi kullanarak verileri silin. |
Uygulamanızın OAuth 2.0 kullanarak erişim isteğinde bulunabilmesi için hem kapsam bilgilerine hem de uygulamanızı kaydederken Google tarafından sağlanan bilgilere (ör. istemci kimliği ve istemci gizli anahtarı) ihtiyacı vardır.
İpucu: Google API'leri istemci kitaplıkları, yetkilendirme işleminin bazı adımlarını sizin yerinize gerçekleştirebilir. Bu kitaplıklar çeşitli programlama dilleri için kullanıma sunulmuştur. Ayrıntılar için kitaplıkların ve örneklerin bulunduğu sayfayı inceleyin.
Sık kullanılan OAuth 2.0 akışları
Aşağıda, belirli OAuth 2.0 akışları için yaygın kullanım alanları listelenmiştir:
Web sunucusu
Bu akış, bir kullanıcının Google Analytics verilerine otomatik, çevrimdışı veya planlanmış erişim için uygundur.
Örnek:
- Kullanıcı kontrol panellerini en son Google Analytics verileriyle otomatik olarak güncelleme.
İstemci tarafı
Bu akış, kullanıcıların bir tarayıcıda Google Analytics verilerine erişmek için doğrudan uygulamayla etkileşime geçtiği uygulamalar için idealdir. Sunucu tarafı özelliklere olan ihtiyacı ortadan kaldırır ancak otomatik, çevrimdışı veya planlanmış raporlamayı kullanılamaz hale getirir.
Örnek:
- Analytics Query Explorer gibi tarayıcı tabanlı bir raporlama aracı.
Yüklü Uygulamalar
Bu akış, paket olarak dağıtılan ve kullanıcı tarafından yüklenen uygulamalar içindir. Bu akış, kimlik doğrulama akışını tamamlamak için uygulamanın veya kullanıcının bir tarayıcıya erişimini gerektirir.
Örnekler:
- PC veya Mac'te masaüstü widget'ı.
- İçerik yönetim sistemi için bir eklenti: Bu akış, web sunucusuna veya istemci tarafına kıyasla uygulamanız için tek bir API Console projesinin kullanılabilmesi avantajına sahiptir. Bu, birleştirilmiş raporlamaya ve kullanıcılar için daha basit kuruluma olanak tanır.
Hizmet Hesapları
Hizmet hesapları, kendi hesabınızın Google Analytics verilerine otomatik, çevrimdışı veya planlanmış erişim için kullanışlıdır. Örneğin, kendi Google Analytics verilerinizin canlı bir kontrol panelini oluşturup diğer kullanıcılarla paylaşabilirsiniz.
Analytics API'yi kullanmaya başlamak için önce kurulum aracını kullanmanız gerekir. Bu araç, Google API Konsolu'nda proje oluşturma, API'yi etkinleştirme ve kimlik bilgileri oluşturma konusunda size rehberlik eder.
Yeni bir hizmet hesabı oluşturmak için aşağıdakileri yapın:
- Kimlik bilgisi oluştur > Hizmet hesabı anahtarı'nı tıklayın.
- Hizmet hesabının herkese açık/özel anahtarını standart bir P12 dosyası olarak mı yoksa bir Google API istemci kitaplığı tarafından yüklenebilecek bir JSON dosyası olarak mı indireceğinizi seçin.
Yeni herkese açık/özel anahtar çiftiniz oluşturulur ve makinenize indirilir; bu anahtarın tek kopyası olarak işlev görür. Anahtarın güvenli bir şekilde saklanması sizin sorumluluğunuzdadır.
Sorun giderme
Yetkilendirmeniz aşağıdaki durumlarda başarısız olur:
access_token
'nizin süresi dolduysa veya API için yanlış kapsamı kullanıyorsanız401
durum kodu alırsınız.Yetkili kullanıcının görünüme (profil) erişimi yoksa
403
durum kodu alırsınız. Doğru kullanıcı ile yetkilendirildiğinizden ve bu kullanıcının gerçekten seçtiğiniz görünüme (profile) sahip olduğundan emin olun.
OAuth 2.0 deneme alanı
Bu araç, yetkilendirme akışının tamamını bir web arayüzü üzerinden gerçekleştirmenize olanak tanır. Araç, yetkili bir sorgu yapmak için gereken tüm HTTP istek başlıklarını da görüntüler. Kendi uygulamanızda çalışma yetkisi alamıyorsanız, uygulamayı OAuth 2.0 oyun alanında çalışır duruma getirmeyi denemeniz gerekir. Ardından, geliştirme alanındaki HTTP üst bilgilerini ve isteği, uygulamanızın Google Analytics'e gönderdiğiyle karşılaştırabilirsiniz. Bu kontrol, isteklerinizi doğru şekilde biçimlendirdiğinizden emin olmanın basit bir yoludur.
Geçersiz izin
Yenileme jetonunu kullanmaya çalıştığınızda aşağıdaki invalid_grant
hatası döndürülür:
- Sunucunuzun saati ağ saati protokolü (NTP) ile senkronize değil.
- Yenileme jetonu sınırı aşıldı.
Uygulamalar, tek bir Google Analytics hesabına erişmek için birden fazla yenileme jetonu isteyebilir.
Örneğin, bir kullanıcı bir uygulamayı birden fazla makineye yüklemek ve aynı Google Analytics hesabına erişmek istiyorsa her makine için ayrı bir jeton gerekir. Yenileme jetonu sayısı sınırı aştığında eski jetonlar geçersiz hale gelir. Uygulama, geçersiz kılınmış bir yenileme jetonu kullanmaya çalışırsa invalid_grant
hata yanıtı döndürülür.
Her benzersiz OAuth 2.0 istemci ve Google Analytics hesabı çifti için sınır 25 yenileme jetonudur. Uygulama aynı müşteri/hesap çifti için yenileme jetonu istemeye devam ederse 26. jeton yayınlandıktan sonra daha önce yayınlanan 1. yenileme jetonu geçersiz olur. 27. kez istenen yenileme jetonu, daha önce verilen 2. jetonu geçersiz kılar ve bu böyle devam eder.