Yapılandırma

Java istemci kitaplığı, ana dizininizde (System.getProperty("user.home") + "/ads.properties" veya ~/ads.properties) ads.properties adlı bir yapılandırma dosyası arar. Aşağıdaki mekanizmalardan birini kullanarak GoogleAdsClient oluştururken bu yolu ve dosya adını çalışma zamanında geçersiz kılabilirsiniz:

  • fromPropertiesFile(PATH_TO_CONFIG_FILE) işlevini çağırın. Burada PATH_TO_CONFIG_FILE, yapılandırma dosyanızın File yolu ve dosya adıdır.
  • Ortam değişkeni GOOGLE_ADS_CONFIGURATION_FILE_PATH'yı yapılandırma dosyanızın yolu ve dosya adı olarak ayarlayın, ardından fromPropertiesFile()'ı çağırın.

Yapılandırma dosyasının biçimi, anahtar/değer çiftlerinden oluşan standart bir Java Properties dosyasıdır. Desteklenen anahtarlar, seçilen kimlik doğrulama akışına göre değişir.

Masaüstü ve web uygulaması akışları için desteklenen anahtarlar

Tek kullanıcılı veya çok kullanıcılı uygulama akışını kullanıyorsanız desteklenen anahtarlar şunlardır:

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientId=INSERT_CLIENT_ID_HERE

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE

# Renewable OAuth credential associated with 1 or more Google Ads accounts.
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE

# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

# Only required if explicitly instructed by the service documentation.
# api.googleads.linkedCustomerId=INSERT_LINKED_CUSTOMER_ID_HERE

# Maximum allowed response payload size, in bytes.
# Customize this to allow response sizes for GoogleAdsService.search and
# GoogleAdsService.searchStream API calls to exceed the default limit of 64MB.
# api.googleads.maxInboundMessageBytes=INSERT_MAX_INBOUND_MESSAGE_BYTES_HERE

# Specifies whether to use Application Default Credentials.
api.googleads.useApplicationDefaultCredentials=false

Hizmet hesapları için desteklenen anahtarlar

Hizmet hesabı akışını kullanıyorsanız desteklenen anahtarlar şunlardır:

# Path to the service account secrets file in JSON format.
# Provided by console.cloud.google.com.
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE

# Optional: Email address of the user to impersonate when using Google Workspace
# domain-wide delegation. This should be a user who has access to your Google Ads
# account and is in the same Google Workspace domain as the service account.
# api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE

# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Ortam değişkenlerini kullanma

Kitaplık, standart Google Ads API istemci kitaplığı ortam değişkenlerinin tümünü destekler. Aşağıdaki tabloda, her yapılandırma dosyası özelliğine karşılık gelen ortam değişkeni gösterilmektedir:

Yapılandırma dosyası özelliği Ortam değişkeni
api.googleads.clientId GOOGLE_ADS_CLIENT_ID
api.googleads.clientSecret GOOGLE_ADS_CLIENT_SECRET
api.googleads.refreshToken GOOGLE_ADS_REFRESH_TOKEN
api.googleads.serviceAccountSecretsPath GOOGLE_ADS_JSON_KEY_FILE_PATH
api.googleads.serviceAccountUser GOOGLE_ADS_IMPERSONATED_EMAIL
api.googleads.loginCustomerId GOOGLE_ADS_LOGIN_CUSTOMER_ID
api.googleads.linkedCustomerId GOOGLE_ADS_LINKED_CUSTOMER_ID
api.googleads.maxInboundMessageBytes GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES
api.googleads.useApplicationDefaultCredentials GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS
api.googleads.developerToken (v46.0.0 ve sonraki sürümlerde isteğe bağlıdır) GOOGLE_ADS_DEVELOPER_TOKEN

Uygun ortam değişkenlerini ayarladıktan sonra, oluşturucuda fromEnvironment() işlevini çağırarak GoogleAdsClient yapılandırın:

GoogleAdsClient googleAdsClient =
    GoogleAdsClient.newBuilder()
        .fromEnvironment()
        .build();

Yapılandırma yaklaşımlarını birleştirme

GoogleAdsClient ve derleyicisi, farklı yapılandırma stratejilerinin birleştirilmesini destekler. Örneğin, aşağıdaki snippet'i kullanarak örneğin kimlik bilgilerini ortam değişkenleriyle, diğer özellikleri ise bir özellikler dosyasıyla yapılandırabilirsiniz:

GoogleAdsClient googleAdsClient =
    GoogleAdsClient.newBuilder()
        .fromEnvironment()
        .fromPropertiesFile()
        .build();

build() işlevini çağırmadan önce, oluşturucunun diğer yapılandırma yöntemlerini kullanarak çalışma zamanında başka değişiklikler yapabilirsiniz.

Geliştirici jetonunun kullanımdan kaldırılması

9 Eylül 2026'da geliştirici jetonunun kullanımdan kaldırılmasının ardından, API erişim düzeyleri geliştirici jetonu yerine API sunucusundaki Google Cloud projeniz tarafından belirlenir:

  • Yapılandırma değişiklikleri: Artık ads.properties içinde api.googleads.developerToken veya ortam değişkenlerinizde GOOGLE_ADS_DEVELOPER_TOKEN belirtmeniz gerekmiyor. Hâlâ api.googleads.developerToken belirten mevcut uygulamalar, API sunucuları developer-token üstbilgisini yoksaydığı için çalışmaya devam eder (ancak Google Ads API'nin gelecekteki bir ana sürümü bunu reddedecektir).
  • İstemci kitaplığı sürüm şartları: Yapılandırmanızdan geliştirici jetonunu çıkarmak için google-ads-java v46.0.0 veya sonraki bir sürümü kullanın. Bu sürümlerde, geliştirici jetonu gerektiren istemci tarafı doğrulama kaldırılmıştır.
  • Yetkilendirme hatası değişiklikleri: Yalnızca Test erişimi olan bir Google Cloud projesi, bir üretim Google Ads hesabını çağırırsa v25 ve sonraki Google Ads API sürümleri AuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION, v24 ve önceki sürümler ise AuthorizationError.ACTION_NOT_PERMITTED döndürür.