Dokümanda, bir uygulamanın Tag Manager API'ye istekte bulunmak için nasıl yetki kazanabileceği açıklanmaktadır.
İstekleri Yetkilendirme
Kullanıcıların herhangi bir Google sitesinde hesap bilgilerini görüntüleyebilmesi için önce bir Google Hesabı ile giriş yapmaları gerekir. Aynı şekilde, kullanıcılar uygulamanıza ilk kez eriştiğinde uygulamanızı verilerine erişmesi için yetkilendirmeleri gerekir.
Uygulamanızın Etiket Yöneticisi API'sine gönderdiği her istek bir yetkilendirme jetonu içermelidir. 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
Tag Manager API'ye yapılan 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 Tag Manager 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.
Tag Manager API'si için OAuth 2.0 kapsam bilgileri aşağıda verilmiştir:
Kapsam | Anlamı |
---|---|
https://www.googleapis.com/auth/tagmanager.readonly |
Google Etiket Yöneticisi kapsayıcılarınızı görüntüleyin. |
https://www.googleapis.com/auth/tagmanager.edit.containers |
Google Etiket Yöneticisi kapsayıcılarınızı yönetin. |
https://www.googleapis.com/auth/tagmanager.delete.containers |
Google Etiket Yöneticisi kapsayıcılarınızı silin. |
https://www.googleapis.com/auth/tagmanager.edit.containerversions |
Google Etiket Yöneticisi kapsayıcı sürümlerinizi yönetin. |
https://www.googleapis.com/auth/tagmanager.publish |
Google Etiket Yöneticisi kapsayıcılarınızı yayınlayın. |
https://www.googleapis.com/auth/tagmanager.manage.users |
Google Etiket Yöneticisi verilerinizin kullanıcı izinlerini yönetin. |
https://www.googleapis.com/auth/tagmanager.manage.accounts |
Google Etiket Yöneticisi hesaplarınızı yönetin. |
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.
Başlayın
Tag Manager 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ı veya Google API istemci kitaplığı tarafından yüklenebilen bir JSON dosyası olarak indirme arasında seçim yapın.
Yeni herkese açık/özel anahtar çiftiniz oluşturulur ve makinenize indirilir; bu anahtarın tek kopyası olarak işlev görür. Güvenli şekilde saklamaktan siz sorumlusunuz.
Genel OAuth 2.0 Akışları
Aşağıdaki yönergelerde belirli OAuth 2.0 akışları için yaygın kullanım alanları özetlenmektedir:
Web Sunucusu
Bu akış, bir kullanıcının Google Etiket Yöneticisi hesabına otomatik/çevrimdışı/planlı erişim için uygundur.
- Etiket Yöneticisi bilgilerini bir sunucudan otomatik olarak güncelleme.
İstemci tarafı
Kullanıcıların Google Etiket Yöneticisi Hesaplarına bir tarayıcıdan erişmek için doğrudan uygulamayla etkileşimde bulundukları durumlarda idealdir. Bu akış, sunucu tarafı özelliklerine duyulan ihtiyacı ortadan kaldırır ancak otomatik/çevrimdışı/planlı raporlama için elverişsizdir.
- Tarayıcı tabanlı özelleştirilmiş bir yapılandırma aracıdır.
Yüklü Uygulamalar
Paket olarak dağıtılan ve kullanıcı tarafından yüklenen uygulamalar içindir. Kimlik doğrulama akışını tamamlamak için uygulamanın veya kullanıcının bir tarayıcıya erişimi olması gerekir.
- PC veya Mac'teki bir masaüstü widget'ı.
- İçerik yönetim sistemi eklentisi. Web sunucusu veya istemci tarafına kıyasla bu akışın avantajı, uygulamanız için tek bir API Konsolu projesinin kullanılabilmesidir. Bu da kullanıcılar için yüklemeyi kolaylaştırır.
Hizmet Hesapları
Kendi Google Etiket Yöneticisi hesabınıza otomatik/çevrimdışı/planlı erişim için kullanışlıdır. Örneğin, kendi Google Etiket Yöneticisi hesabınızı izlemek ve diğer kullanıcılarla paylaşmak için özel bir araç oluşturabilirsiniz.
Sorun giderme
access_token
talimatınızın süresi dolduysa veya belirli bir API çağrısı için yanlış kapsamı kullanırsanız yanıtta 401
durum kodu alırsınız.
Yetkili kullanıcının Google Etiket Yöneticisi hesabına veya kapsayıcısına erişimi yoksa yanıtta 403
durum kodu alırsınız. Doğru kullanıcı tarafından yetkilendirildiğinden ve Etiket Yöneticisi hesabına veya kapsayıcısına erişim izinleri verildiğinden emin olun.
OAuth 2.0 Playground
OAuth 2.0 Playground, tüm yetkilendirme akışını bir web arayüzü üzerinden gerçekleştirmenizi sağlar. Araç, yetkilendirilmiş bir sorgu yapmak için gereken tüm HTTP istek başlıklarını da gösterir. Kendi uygulamanızda çalışma yetkisi alamıyorsanız uygulamanızı OAuth 2.0 Playground üzerinden çalıştırmaya çalışmalısınız. Daha sonra, HTTP üst bilgilerini ve oyun alanından gelen isteği, uygulamanızın gönderdiği istekle karşılaştırabilirsiniz. Bu kontrol, isteklerinizi doğru şekilde biçimlendirdiğinizden emin olmanın basit bir yoludur.
Geçersiz izin
Yenileme jetonu kullanmaya çalışırken invalid_grant
hata yanıtı alırsanız hatanın nedeni aşağıdakilerden biri veya her ikisi olabilir:
- Sunucunuzun saati NTP ile senkronize değil.
- Yenileme jetonu sınırını aştınız.
Uygulamalar, tek bir Google Etiket Yöneticisi hesabına erişmek için birden fazla yenileme jetonu isteyebilir. Örneğin bu, kullanıcının birden fazla makineye uygulama yüklemek ve aynı Google Etiket Yöneticisi hesabına erişmek istediği durumlarda kullanışlıdır. Bu durumda, her yükleme için bir tane olmak üzere iki yenileme jetonu 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ışırsainvalid_grant
hata yanıtı döndürülür. Her benzersiz istemci kimliği/hesap kombinasyonu en fazla 25 yenileme jetonu içerebilir. (Bu sınırın değişebileceğini unutmayın.) Uygulama aynı istemci kimliği/hesap kombinasyonu için yenileme jetonları istemeye devam ederse 26. jeton verildikten sonra verilen ilk yenileme jetonu geçersiz hale gelir. İstenen 27. yenileme jetonu 2. verilen jetonu geçersiz kılar ve bu şekilde devam eder.