Kitaplık, System.getProperty("user.home") + "/ads.properties" konumunda 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. BuradaPATH_TO_CONFIG_FILE, yapılandırma dosyanızın yolu ve dosya adıdır.GOOGLE_ADS_CONFIGURATION_FILE_PATHortam değişkenini yapılandırma dosyanızın yolu ve dosya adıyla ayarlayın, ardındanfromPropertiesFile()'ı çağırın.
Yapılandırma dosyasının biçimi, anahtar/değer çiftlerinin bulunduğu 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
# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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
# Email address of the user to impersonate.
# This should be a user who has access to your Google Ads account and is in the same
# Google Apps Domain as the service account.
api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE
# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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
Ortam değişkenlerini kullanma
Kitaplık, tüm Google Ads API istemci kitaplıklarında ortak olan tüm ortam değişkenlerini 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.developerToken |
GOOGLE_ADS_DEVELOPER_TOKEN |
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 |
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 oluşturucusu, 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();
Bu örnekte, istemci kitaplığı hem ortam değişkeni hem de özellikler dosyasındaki bir giriş aracılığıyla tanımlanan tüm özellikler için özellikler dosyasındaki değeri kullanır. Tam tersi bir davranış için fromEnvironment() işlevinden önce fromPropertiesFile() işlevini çağırmanız yeterlidir.
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.