Biblioteka klienta Java szuka pliku konfiguracyjnego o nazwie ads.properties w katalogu domowym (System.getProperty("user.home") + "/ads.properties" lub ~/ads.properties). Możesz zastąpić tę ścieżkę i nazwę pliku w czasie działania programu podczas tworzenia obiektu GoogleAdsClient za pomocą jednego z tych mechanizmów:
- Wywołaj
fromPropertiesFile(PATH_TO_CONFIG_FILE), gdziePATH_TO_CONFIG_FILEtoFileścieżka i nazwa pliku konfiguracji. - Ustaw zmienną środowiskową
GOOGLE_ADS_CONFIGURATION_FILE_PATHna ścieżkę i nazwę pliku konfiguracji, a następnie wywołajfromPropertiesFile().
Format pliku konfiguracyjnego to standardowy plik Properties w języku Java zawierający pary klucz-wartość. Obsługiwane klucze różnią się w zależności od wybranego procesu uwierzytelniania.
Obsługiwane klucze w przypadku komputerów i aplikacji internetowych
Jeśli korzystasz z przepływu aplikacji dla jednego użytkownika lub dla wielu użytkowników, obsługiwane klucze są następujące:
# 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
Obsługiwane klucze kont usługi
Jeśli korzystasz z procesu konta usługi, obsługiwane klucze są następujące:
# 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
Używanie zmiennych środowiskowych
Biblioteka obsługuje wszystkie standardowe zmienne środowiskowe biblioteki klienta interfejsu Google Ads API. W tabeli poniżej znajdziesz zmienną środowiskową odpowiadającą każdej właściwości pliku konfiguracyjnego:
| Właściwość pliku konfiguracji | Zmienna środowiskowa |
|---|---|
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 (opcjonalny w wersji v46.0.0 i nowszych) |
GOOGLE_ADS_DEVELOPER_TOKEN |
Po ustawieniu odpowiednich zmiennych środowiskowych skonfiguruj GoogleAdsClient, wywołując fromEnvironment() w konstruktorze:
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Łączenie podejść do konfiguracji
GoogleAdsClient i jego konstruktor umożliwiają łączenie różnych strategii konfiguracji. Możesz na przykład użyć zmiennych środowiskowych do skonfigurowania danych logowania instancji, a pliku właściwości do innych atrybutów, używając tego fragmentu kodu:
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
Przed wywołaniem metody build() możesz wprowadzić dalsze zmiany w czasie działania programu, korzystając z innych metod konfiguracji narzędzia do tworzenia.
Wycofanie tokenów programisty
Po wycofaniu tokenów programisty 9 września 2026 r. poziomy dostępu do interfejsu API będą określane przez Twój projekt Google Cloud na serwerze interfejsu API, a nie przez token programisty:
- Zmiany w konfiguracji: nie musisz już określać
api.googleads.developerTokenwads.propertiesaniGOOGLE_ADS_DEVELOPER_TOKENw zmiennych środowiskowych. Obecne aplikacje, które nadal określająapi.googleads.developerToken, będą nadal działać, ponieważ serwery interfejsu API ignorują nagłówekdeveloper-token(chociaż przyszła główna wersja interfejsu Google Ads API będzie go odrzucać). - Wymagania dotyczące wersji biblioteki klienta: aby pominąć token programisty w konfiguracji, użyj wersji
google-ads-javav46.0.0lub nowszej, w której usunięto weryfikację po stronie klienta wymagającą tokena programisty. - Zmiany w błędach autoryzacji: jeśli projekt Google Cloud z dostępem tylko do testowania wywołuje produkcyjne konto Google Ads, interfejs Google Ads API w wersji
v25i nowszej zwraca błądAuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION, a w wersjiv24i starszej zwraca błądAuthorizationError.ACTION_NOT_PERMITTED.