Tag Manager API Yetkilendirmesi

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:

  1. 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.
  2. Google API Konsolu'nda Tag Manager API'yi etkinleştirin. (API, API Konsolu'nda listelenmemişse bu adımı atlayın.)
  3. Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
  4. Google, kullanıcıya uygulamanızı kullanıcının verilerinden bazılarını istemeye yetkilendirmesi için bir onay ekranı gösterir.
  5. Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
  6. Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verileri için istekte bulunur.
  7. 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:

  1. Kimlik bilgisi oluştur > Hizmet hesabı anahtarı'nı tıklayın.
  2. 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.

Örnek:
  • 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.

Örnek:
  • 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.

Örnekler:
  • 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:

  1. Sunucunuzun saati NTP ile senkronize değil.
  2. 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ışırsa invalid_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.