Hizmet hesabı iş akışı

Bu kılavuzda, hizmet hesaplarıyla Google Ads API'ye nasıl erişileceği açıklanmaktadır.

Hizmet hesabı, bireysel bir son kullanıcıya değil, uygulamanıza ait olan bir hesaptır. Hizmet hesapları, insan yetkilendirmesi gerektirmeyen bir OAuth 2.0 akışı kullanır. Bunun yerine, yalnızca uygulamanızın erişebileceği bir anahtar dosyası kullanılır.

Hizmet hesaplarını kullanmanın iki temel avantajı vardır:

  • Google Ads hesaplarına Google Ads API erişimi için yetkilendirme, Google Ads kullanıcı arayüzünün sunduğu yetkilendirme ve hesap yönetimi özelliklerinden yararlanarak bir yapılandırma adımı olarak yapılır. Bu sayede, OAuth 2.0 akışları oluşturmak ve kullanıcı etkileşimi, kullanıcı kimlik bilgilerini depolama ve jeton yönetimiyle ilgili sorunlarla uğraşmak zorunda kalmayarak geliştiricilerin iş yükü azaltılır.

  • Google Ads hesaplarına erişim yetkisi, tek tek kullanıcı kimlik bilgilerine bağlı değildir. Bu, söz konusu yetkinin, erişimi ilk yetkilendiren çalışan ekipten veya şirketten ayrılsa bile devam etmesinin beklendiği durumlarda faydalı olabilir.

Hesap erişimi kurulumu

  1. Hizmet hesabı ve kimlik bilgileri oluşturarak başlayın.

    Hizmet hesabı anahtarını JSON biçiminde indirin ve hizmet hesabı kimliğini ve e-posta adresini not edin.

  2. Google Ads hesabınızda yönetici olarak oturum açın. Yönetici > Erişim ve güvenlik'e gidin.

  3. Kullanıcılar sekmesinde + düğmesini tıklayın.

  4. Hizmet hesabı e-posta adresini E-posta giriş kutusuna yazın. Uygun hesap erişim düzeyini seçin (hizmet hesaplarının Yalnızca e-posta erişim düzeyini desteklemediğini unutmayın) ve Hesap ekle düğmesini tıklayın.

  5. Hizmet hesabına erişim izni verilir.

  6. İsteğe bağlı: Varsayılan olarak, hizmet hesabına yönetici erişimi veremezsiniz. En az ayrıcalık ilkesine uyun ve yalnızca API çağrılarınız gerektiriyorsa yönetici erişimi verin. Erişimi aşağıdaki şekilde yükseltebilirsiniz:

    • Erişim düzeyi sütununda hizmet hesabının erişim düzeyinin yanındaki açılır liste okunu tıklayın.
    • Açılır listeden Yönetici'yi seçin.

İstemci kitaplığı yapılandırması

İstemci kitaplığınızı yapılandırma talimatları için programlama dilinize karşılık gelen sekmeyi seçin. Hizmet hesabınız, müşteri hesaplarına bir Google Ads yönetici hesabı (MM) üzerinden erişiyorsa login-customer-id (veya loginCustomerId) değerini, tire içermeyen 10 haneli yönetici hesabı müşteri kimliği olarak da ayarlayın (bkz. Müşteri kimliğiyle giriş).

Java

Yapılandırmanızda özel anahtar JSON yolunu ayarlayın. ads.properties dosyası kullanıyorsanız aşağıdakileri ekleyin:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

.NET

GoogleAdsConfig örneğinde OAuth2Mode ve OAuth2SecretsJsonPath değerlerini ayarlayın ve GoogleAdsClient nesnesini başlatmak için kullanın.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    // ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

Python

Yapılandırmanızda özel anahtar JSON yolunu ayarlayın. google-ads.yaml dosyası, YAML dizesi veya dict kullanıyorsanız aşağıdakileri ekleyin:

json_key_file_path: JSON_KEY_FILE_PATH

Ortam 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=JSON_KEY_FILE_PATH

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

PHP

google_ads_php.ini dosyanızda aşağıdaki anahtarları yapılandırın.

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

Ruby

google_ads_config.rb dosyanızda aşağıdaki anahtarları yapılandırın.

c.keyfile = 'JSON_KEY_FILE_PATH'

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

Perl

Yapılandırmanızda özel anahtar JSON yolunu ayarlayın. googleads.properties dosyası kullanıyorsanız aşağıdakileri ekleyin:

jsonKeyFilePath=JSON_KEY_FILE_PATH

Ortam 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=JSON_KEY_FILE_PATH

Ek ayrıntılar için yapılandırma kılavuzuna bakın.

curl

Öncelikle hizmet hesabını gcloud KSA'da etkin kimlik bilgileri olarak ayarlayın.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

Ardından, Google Ads API için bir OAuth 2.0 erişim jetonu getirin.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

Erişim jetonunu API çağrılarınızda kullanabilirsiniz. Aşağıdaki örnekte, hesabınızdaki kampanyaları almak için GoogleAdsService.SearchStream yöntemini kullanarak nasıl kampanya raporu çalıştırılacağı gösterilmektedir. Bu kılavuzda raporlama ile ilgili ayrıntılar yer almamaktadır.

curl -i -X POST \
  https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

query.json dosyasının içeriği aşağıdaki gibidir:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}