Bu kılavuzda, Google Ads API'ye hizmet hesaplarıyla nasıl erişileceği açıklanmaktadır.
Hizmet hesabı, tek bir son kullanıcıya değil, uygulamanıza ait olan bir hesaptır. Hizmet hesapları, bir web uygulaması ile Google hizmeti arasında sunucular arası etkileşimi sağlar. Uygulamanız, hizmet hesabı adına Google API'lerini çağırır. Dolayısıyla kullanıcılar bu işleme doğrudan dahil olmaz.
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ır.
Hizmet hesaplarını kullanmak iki önemli avantaj sağlar:
Google API erişimi için yetkilendirme, yapılandırma adımı olarak gerçekleştirilir. Böylece, kullanıcı etkileşimi gerektiren diğer OAuth 2.0 akışlarıyla ilgili komplikasyonlar önlenir.
OAuth 2.0 beyan akışı, uygulamanızın gerekirse diğer kullanıcıların kimliğine bürünmesine olanak tanır.
Hizmet hesaplarıyla yetkilendirmenin iki yolu vardır: doğrudan veya kimliğe bürünerek.
Doğrudan hesap erişimi ile yetkilendirme
Bu seçenekte, hizmet hesabına Google Ads hesabınıza doğrudan erişim izni verirsiniz.
Hesap erişimi ayarları
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 sekmesinin altındaki + düğmesini tıklayın.
Hizmet hesabı e-posta adresini E-posta giriş kutusuna yazın. Uygun hesap erişim düzeyini seçin ve Hesap ekle düğmesini tıklayın. Hizmet hesapları için E-posta ve Yönetici erişim düzeylerinin desteklenmediğini unutmayın.
Hizmet hesabına erişim izni verilir.
İstemci kitaplığı yapılandırması
İstemci kitaplığınızı yapılandırma talimatları için programlama dilinize karşılık gelen sekmeyi seçin.
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
Daha fazla bilgi için yapılandırma kılavuzuna bakın.
.NET
App.config / Web.config
'inizde aşağıdaki anahtarları yapılandırın. Daha fazla bilgi için yapılandırma kılavuzuna bakın.
<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />
Python
Yapılandırmanızda özel anahtar JSON yolunu ayarlayın. google-ads.yaml file
, 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
PHP
google_ads_php.ini
'inizde aşağıdaki anahtarları yapılandırın. Daha fazla bilgi için yapılandırma kılavuzuna bakın.
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Ruby
google_ads_config.rb
'inizde aşağıdaki anahtarları yapılandırın.
c.keyfile = 'JSON_KEY_FILE_PATH'
Perl
Yapılandırmanızda özel anahtar JSON yolunu ve yetki verilmiş hesap kimliğini 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
Kimliğe bürünme kullanarak yetkilendirme
Bu seçenekte, hizmet hesabını kullanarak Google Ads hesabınıza erişimi olan bir kullanıcının kimliğine bürünürsünüz. Bu yaklaşım yalnızca Google Workspace müşterileri için geçerlidir. Hizmet hesapları yalnızca aynı Google Workspace'teki kullanıcıların (e-posta adresleri) kimliğine bürünebilir.
Ön koşullar
Sahibi olduğunuz bir Google Workspace alanı (ör.
mydomain.com
veyamybusiness.com
)Google Ads API geliştirici jetonu ve isteğe bağlı olarak bir test hesabı
Kullandığınız dil için istemci kitaplığı
Google Ads API için yapılandırılmış bir Google API Konsolu projesi
Erişmek istediğiniz Google Ads hesabında izinleri olan bir Google Ads kullanıcısı. Google Ads, kimliğe bürünme olmadan hizmet hesaplarının kullanılmasını desteklemez.
Hizmet hesabı erişim kurulumu
Kullanıcı kimliğine bürünme yalnızca alan düzeyinde kontrol edildiğinden, Google OAuth 2.0 ile hizmet hesaplarını ve beyan akışını kullanmak için Google Workspace'e kayıtlı kendi alanınızın olması gerekir. Bu durumda uygulamanız ve kullanıcıları, alandaki herhangi bir kullanıcının kimliğine bürünebilir.
Hizmet hesabı ve kimlik bilgileri oluşturarak başlayın.
Hizmet hesabı anahtarını JSON biçiminde indirin ve hizmet hesabı kimliğini not edin.
Hizmet hesabı kimliğini ve Google Ads API kapsamını (
https://www.googleapis.com/auth/adwords
) alan yöneticinizle paylaşın.Alan yöneticisinden, alan genelinde yetkiyi hizmet hesabınıza devretmesini isteyin.
Alan yöneticisi sizseniz Yardım Merkezi'ndeki talimatları uygulayın.
Artık OAuth 2.0 beyan akışı ile Google Ads hesabınıza erişmek için hizmet hesabını kullanabilirsiniz.
İstemci kitaplığı yapılandırması
İstemci kitaplığınızı yapılandırma talimatları için programlama dilinize karşılık gelen sekmeyi seçin.
Java
Yapılandırmanızda özel anahtar JSON yolunu ve yetki verilmiş hesap kimliğini ayarlayın.
ads.properties
dosyası kullanıyorsanız aşağıdakileri ekleyin:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.serviceAccountUser=IMPERSONATED_EMAIL
Daha fazla bilgi için yapılandırma kılavuzuna bakın.
.NET
App.config / Web.config
'inizde aşağıdaki anahtarları yapılandırın. Daha fazla bilgi için yapılandırma kılavuzuna bakın.
<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />
<!-- Supply the email address of the user to impersonate. -->
<add key="OAuth2PrnEmail" value="IMPERSONATED_EMAIL" />
Python
Yapılandırmanızda özel anahtar JSON yolunu ve kimliğine bürünen e-postayı ayarlayın.
google-ads.yaml file
, YAML dizesi veya dict
kullanıyorsanız aşağıdakileri ekleyin:
json_key_file_path: JSON_KEY_FILE_PATH
impersonated_email: IMPERSONATED_EMAIL
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
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL
PHP
google_ads_php.ini
'inizde aşağıdaki anahtarları yapılandırın. Daha fazla bilgi için yapılandırma kılavuzuna bakın.
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
impersonatedEmail = "IMPERSONATED_EMAIL"
Ruby
google_ads_config.rb
'inizde aşağıdaki anahtarları yapılandırın.
c.keyfile = 'JSON_KEY_FILE_PATH'
c.impersonate = 'IMPERSONATED_EMAIL'
Perl
Yapılandırmanızda özel anahtar JSON yolunu ve yetki verilmiş hesap kimliğini ayarlayın. googleads.properties
dosyası kullanıyorsanız aşağıdakileri ekleyin:
jsonKeyFilePath=JSON_KEY_FILE_PATH
impersonatedEmail=IMPERSONATED_EMAIL
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
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL
Güvenlikle ilgili sorunlar
Hizmet hesabı, Google Workspace alanınız için alan düzeyinde yetkilendirme kontrolüne sahip olduğundan, hizmet hesabının yetkilendirildiği Google hizmetlerine erişmesine olanak tanıyan anahtar dosyasını korumak önemlidir. Bu durum, hizmet hesabının alandaki herhangi bir kullanıcının kimliğine bürünme özelliğine sahip olması nedeniyle özellikle geçerlidir.
Hizmet hesaplarının yalnızca gereken minimum API grubuna erişmesine izin vermek de iyi bir uygulamadır. Bu, hizmet hesabının anahtar dosyasının güvenliği ihlal edildiğinde bir saldırganın erişebileceği veri miktarını sınırlamak için alınan önleyici bir önlemdir.