Konfiguracja

Biblioteka szuka pliku konfiguracji w folderze System.getProperty("user.home") + "/ads.properties". Możesz zastąpić tę ścieżkę i nazwę pliku w czasie wykonywania, gdy tworzysz element GoogleAdsClient, korzystając z jednego z tych mechanizmów:

  • Wywołaj funkcję fromPropertiesFile(PATH_TO_CONFIG_FILE), gdzie PATH_TO_CONFIG_FILEto ścieżka i nazwa pliku konfiguracji.
  • Ustaw zmienną środowiskową GOOGLE_ADS_CONFIGURATION_FILE_PATH na ścieżkę i nazwę pliku konfiguracyjnego, a potem wywołaj funkcję fromPropertiesFile().

Format pliku konfiguracji jest taki sam jak w pliku Properties w języku Java, czyli zawiera pary klucz-wartość. Obsługiwane klucze różnią się w zależności od wybranego procesu uwierzytelniania.

Obsługiwane klucze w przypadku procesów aplikacji na komputery i aplikacji internetowych

Jeśli używasz ścieżki aplikacji na komputer lub w sieci, obsługiwane klucze to:

# 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

Obsługiwane klucze dla kont usługi

Jeśli używasz konta usługi, obsługiwane są te klucze:

# 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

Korzystanie z zmiennych środowiskowych

Biblioteka obsługuje wszystkie zmienną środowiskowe wspólne dla wszystkich bibliotek klientów interfejsu Google Ads API. Tabela poniżej zawiera zmienną środowiskową odpowiadającą każdej właściwości pliku konfiguracyjnego.

Właściwość pliku konfiguracji Zmienna środowiskowa
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

Po ustawieniu odpowiednich zmiennych środowiskowych skonfiguruj GoogleAdsClient, wywołując funkcję fromEnvironment() w builderze.

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

Łączenie metod konfiguracji

GoogleAdsClient i jego kreator umożliwiają łączenie różnych strategii konfiguracji. Za pomocą zmiennych środowiskowych możesz na przykład skonfigurować poświadczenia instancji, a za pomocą pliku właściwości – inne atrybuty, korzystając z poniższego fragmentu kodu.

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

W tym przykładzie biblioteka klienta będzie używać wartości z pliku properties w przypadku każdego atrybutu zdefiniowanego zarówno za pomocą zmiennej środowiskowej, jak i zapisu w pliku properties. Aby uzyskać odwrotne działanie, wywołaj funkcję fromPropertiesFile() przed funkcją fromEnvironment().

Przed wywołaniem funkcji build() możesz wprowadzić dalsze zmiany w czasie wykonywania za pomocą innych metod konfiguracji kreatora.