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
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.
Google Ads hesabınızda yönetici olarak oturum açın. Yönetici > Erişim ve güvenlik'e gidin.
Kullanıcılar sekmesinde + düğmesini tıklayın.
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.
Hizmet hesabına erişim izni verilir.
İ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_PATHArdı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"
}