Библиотека ищет файл конфигурации в System.getProperty("user.home") + "/ads.properties"
. Вы можете переопределить этот путь и имя файла во время выполнения при создании GoogleAdsClient
используя любой из следующих механизмов:
- Вызов
fromPropertiesFile(PATH_TO_CONFIG_FILE)
, гдеPATH_TO_CONFIG_FILE
— это путь и имя вашего файла конфигурации. - Задайте для переменной среды
GOOGLE_ADS_CONFIGURATION_FILE_PATH
путь и имя вашего файла конфигурации, а затем вызовитеfromPropertiesFile()
.
Формат файла конфигурации аналогичен файлу свойств Java с парами «ключ-значение». Поддерживаемые ключи различаются в зависимости от выбранного потока аутентификации.
Поддерживаемые ключи для потоков настольных компьютеров и веб-приложений
Если вы используете поток рабочего стола или веб- приложения, поддерживаемые ключи следующие:
# 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
Поддерживаемые ключи для сервисных учетных записей
Если вы используете поток учетной записи службы , поддерживаются следующие ключи:
# 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
Использование переменных среды
Библиотека поддерживает все переменные среды, общие для всех клиентских библиотек API Google Рекламы . В таблице ниже показаны переменные среды, соответствующие каждому свойству файла конфигурации.
Свойство файла конфигурации | Переменная среды |
---|---|
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 |
После установки соответствующих переменных среды настройте свой GoogleAdsClient
, вызвав fromEnvironment()
в конструкторе.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Комбинирование подходов к настройке
GoogleAdsClient
и его конструктор поддерживают сочетание различных стратегий конфигурации. Например, вы можете использовать переменные среды для настройки учетных данных экземпляра и файла свойств для других атрибутов, используя следующий фрагмент.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
В этом примере клиентская библиотека будет использовать значение из файла свойств для любого атрибута, который определен как через переменную среды, так и через запись в файле свойств. Для противоположного поведения просто вызовите fromPropertiesFile()
перед fromEnvironment()
.
Вы можете внести дополнительные изменения во время выполнения, используя другие методы настройки компоновщика, прежде чем вызывать build()
.