Bu kılavuzda, bir uygulamanın User Deletion API'ye yönelik istekleri nasıl yetkilendirdiği açıklanmaktadır.
İstekleri yetkilendirme
Kullanıcıların Google Analytics web sitesinde hesap bilgilerini görüntüleyebilmesi için öncelikle Google Hesaplarında oturum açmaları gerekir. Benzer şekilde, kullanıcılar uygulamanıza ilk kez eriştiğinde uygulamanızın verilerine erişmesine izin vermeleri gerekir.
Uygulamanız tarafından Analytics API'ye 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'ye 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 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ının yaygın kullanım alanları listelenmiştir:
Web Sunucusu
Bu akış, 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üncelleyin.
İstemci tarafı
Bu akış, kullanıcıların bir tarayıcıda Google Analytics verilerine erişmek için doğrudan uygulamayla etkileşimde bulunduğu uygulamalar için idealdir. Sunucu tarafı özelliklerine olan ihtiyacı ortadan kaldırır ancak otomatik, çevrimdışı veya planlanmış raporlamayı pratik olmaktan çıkarır.
Örnek:
- Analytics Sorgu Gezgini 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ışta, kimlik doğrulama akışının tamamlanması için uygulamanın veya kullanıcının bir tarayıcıya erişmesi gerekir.
Örnekler:
- PC veya Mac'teki bir masaüstü widget'ı.
- İçerik yönetim sistemi için eklenti: Bu akışın web sunucusu veya istemci tarafına kıyasla avantajı, uygulamanız için tek bir API Konsolu projesi kullanılabilmesidir. Bu sayede, raporlama birleştirilir ve kullanıcılar için daha basit bir kurulum sağlanır.
Hizmet Hesapları
Hizmet hesapları, kendi hesabınız için Google Analytics verilerine otomatik, çevrimdışı veya planlanmış erişim sağlamak amacıyla kullanışlıdır. Örneğin, kendi Google Analytics verilerinizden oluşan canlı bir kontrol paneli oluşturup diğer kullanıcılarla paylaşmak için.
Analytics API'yi kullanmaya başlamak için önce kurulum aracını kullanmanız gerekir. Bu araç, Google API Konsolu'nda proje oluşturma ve API'yi etkinleştirme 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 genel/özel anahtarını standart bir P12 dosyası olarak mı yoksa 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 şu durumlarda başarısız olur:
401süreniz dolduysa veya API için yanlışaccess_tokenkullanıyorsanız kapsam durum kodu alırsınız.Yetkili kullanıcının görünüm (profil) erişimi yoksa
403durum kodu alırsınız. Doğru kullanıcıyla yetkilendirildiğinizden ve kullanıcının gerçekten de seçtiğiniz görünümü (profili) kullandığından emin olun.
OAuth 2.0 Playground
Bu araç, yetkilendirme akışının tamamını bir web arayüzü üzerinden incelemenizi sağlar. Araç, yetkili bir sorgu oluşturmak için gereken tüm HTTP isteği üstbilgilerini de gösterir. Kendi uygulamanızda yetkilendirmeyi çalıştıramıyorsanız OAuth 2.0 Playground'u kullanarak çalıştırmayı denemelisiniz. Ardından, HTTP üst bilgilerini ve istekleri, test alanından uygulamanızın Google Analytics'e gönderdiği bilgilerle 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 hata döndürülür:invalid_grant
- Sunucunuzun saati, Network Time Protocol (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 jetonlarının 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 istemcisi ve Google Analytics hesabı çifti için sınır 25 yenileme jetonudur. Uygulama, aynı istemci/hesap çifti için yenileme jetonları istemeye devam ederse 26. jeton verildikten sonra daha önce verilmiş olan 1. yenileme jetonu geçersiz hale gelir. 27. istenen yenileme jetonu, daha önce verilen 2. jetonu geçersiz kılar.