Diğer Google API'leri gibi Google Ads API de kimlik doğrulama ve yetkilendirme için OAuth 2.0 protokolünü kullanır. OAuth 2.0, Google Ads API istemci uygulamanızın kullanıcının giriş bilgilerini işlemesi veya depolaması gerekmeden kullanıcının Google Ads hesabına erişmesini sağlar.
Google Ads erişim modelini anlama
Google Ads API ile etkili bir şekilde çalışmak için Google Ads erişim modelinin nasıl çalıştığını anlamanız gerekir. Google Ads erişim modeli kılavuzunu inceleyin.
OAuth iş akışları
Google Ads API ile çalışırken kullanılan üç yaygın iş akışı vardır.
Hizmet hesabı akışı
İş akışınız insan etkileşimi gerektirmiyorsa önerilen iş akışı budur. Bu iş akışı, kullanıcının Google Ads hesabına bir hizmet hesabı eklediği bir yapılandırma adımı gerektirir. Uygulama daha sonra kullanıcının Google Ads hesabını yönetmek için hizmet hesabının kimlik bilgilerini kullanabilir.
Perl istemci kitaplığında bir hizmet hesabıyla kendi kimlik bilgilerinizi kullanarak API erişimi için OAuth2'yi nasıl ayarlayacağınız aşağıda açıklanmıştır:
OAuth2 kimlik bilgileri oluşturma:
Hizmet hesabı ve JSON anahtar dosyası oluşturma talimatlarını uygulayın.
İstemci kitaplığını ayarlama:
Yapılandırmanızda özel anahtar JSON yolunu (ve Google Workspace alan genelinde yetki kullanıyorsanız isteğe bağlı
impersonatedEmail) ayarlayın.googleads.propertiesdosyası kullanıyorsanız aşağıdakileri ekleyin:jsonKeyFilePath=PRIVATE_KEY_FILE_PATH # Optional unless using Google Workspace domain-wide delegation: impersonatedEmail=IMPERSONATED_EMAIL loginCustomerId=LOGIN_CUSTOMER_IDOrtam değişkenleri kullanıyorsanız Bash yapılandırmanıza veya ortamınıza aşağıdakileri ekleyin:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=KEY_FILE_PATH export GOOGLE_ADS_IMPERSONATED_EMAIL=\ IMPERSONATED_EMAIL export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_IDDaha fazla bilgi edinmek için hizmet hesabı iş akışı kılavuzunu inceleyin.
Tek kullanıcılı kimlik doğrulama akışı
Hizmet hesaplarını kullanamıyorsanız bu iş akışından yararlanabilirsiniz. Bu iş akışı için iki yapılandırma adımı gerekir:
- Google Ads API kullanılarak yönetilecek tüm hesaplara tek bir kullanıcıya erişim izni verin. Yaygın bir yaklaşım, kullanıcıya bir Google Ads API yönetici hesabına erişim vermek ve tüm Google Ads hesaplarını bu yönetici hesabına bağlamaktır.
- Kullanıcı, uygulamanızı kendi adına tüm Google Ads hesaplarını yönetmesi için yetkilendirmek üzere
generate_user_credentials.plkod örneğini çalıştırır.
Aşağıdaki adımlarda etkileşimli bir kod örneği çalıştırılır. Bu örnek, giriş yapmanızı gerektirir.
Bir terminalde,
examplesdizinindekigenerate_user_credentials.plörneğini çalıştırın.INSERT_XXX_HEREdeğerlerini çalıştırmadan önce örnekte değiştirebilir veya istemci kimliği için-client_id, istemci gizli anahtarı için-client_secretkomut satırı bağımsız değişkenlerini kullanabilirsiniz.perl generate_user_credentials.pl \ -client_id OAUTH_CLIENT_ID \ -client_secret OAUTH_CLIENT_SECRETBu kod örneği, uygulamanın sizin adınıza Google Ads hesabınıza erişmesine izin vermeniz gereken bir URL'yi ziyaret etmenizi ister.
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline...Gizli tarayıcı oturumunda veya gizli pencerede URL'ye gidin. Google Ads'e erişmek için kullandığınız Google Hesabı ile oturum açın. Genellikle bu, hesap hiyerarşisinde yönetmeniz gereken tüm hesapları içeren bir Google Ads yönetici hesabına erişimi olan bir e-posta hesabıdır. OAuth 2.0 kullanıcı rızası ekranında Devam'ı tıklayın.

Yetkilendirmenin başarılı olduğunu belirten bir mesajın yer aldığı sayfaya yönlendirilirsiniz.
Authorization code was successfully retrieved.Kod örneğini çalıştırdığınız konsola dönün. Kod örneğinin tamamlandığını ve yenileme jetonunuz ile bazı talimatları gösterdiğini göreceksiniz. Ardından, istemci kitaplığını yapılandırmak için uygulamanız gereken talimatlar gösterilir:
Replace the following keys and values in your googleads.properties configuration file: clientId=***********************apps.googleusercontent.com clientSecret=**** refreshToken=****İşlemi sonlandırmak için
Ctrl + Ctuşuna basın. Ardından, oluşturulan yenileme jetonunu istemci kimliği ve istemci gizli anahtarıyla birliktegoogleads.propertiesdosyanıza kopyalayın veya çalışma zamanında kitaplığı örneklendirirken kullanmak üzere başka bir yere kaydedin.
Kitaplık, googleads.properties içinde aşağıdakiler ayarlanarak kullanıcının OAuth 2.0 kimlik bilgileriyle başlatılabilir:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
Alternatif olarak ortam değişkenlerini kullanabilirsiniz:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
Daha fazla bilgi edinmek için tek kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın.
Çok kullanıcılı kimlik doğrulama akışı
Uygulamanız, kullanıcıların oturum açmasına ve uygulamanızı kendi adlarına Google Ads hesaplarını yönetmesi için yetkilendirmesine izin veriyorsa önerilen iş akışı budur. Uygulamanız, OAuth 2.0 kullanıcı kimlik bilgilerini oluşturur ve yönetir.
Perl için genellikle uygulamanızın OAuth 2.0 yönlendirmesini ve jeton yönetimini yaptığı bir web uygulaması akışı uygularsınız. Kullanıcı, uygulamanız üzerinden kimlik doğrulaması yapar. Uygulamanız, kullanıcının yenileme jetonunu saklar ve kullanıcı adına API çağrıları yapmak için kullanır.
Elde edilen kimlik bilgilerini kullanma yapılandırması, tek kullanıcılı kimlik doğrulama akışıyla aynıdır:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
Alternatif olarak, ortam değişkenlerini kullanın:
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
Daha fazla bilgi edinmek için çok kullanıcılı kimlik doğrulama iş akışı rehberine bakın.
Kullanıcım birden fazla hesap yönetiyorsa ne olur?
Kullanıcıların, hesaplara doğrudan erişim veya Google Ads yönetici hesabı aracılığıyla birden fazla Google Ads hesabını yönetmesi yaygın bir durumdur. Perl istemci kitaplığı, bu tür durumların nasıl ele alınacağını gösteren örnekler sunar:
get_account_hierarchy.plörneğinde, bir Google Ads yönetici hesabı altındaki tüm hesapların listesinin nasıl alınacağı gösterilmektedir.list_accessible_customers.plörneği, bir kullanıcının doğrudan erişebildiği tüm hesapların listesinin nasıl alınacağını gösterir. Bu hesaplar daha sonragoogleads.propertiesdosyasındakiloginCustomerIdayarı veyaGOOGLE_ADS_LOGIN_CUSTOMER_IDortam değişkeni için geçerli değerler olarak kullanılabilir.