Die Java-Clientbibliothek sucht in Ihrem Basisverzeichnis (System.getProperty("user.home") + "/ads.properties" oder ~/ads.properties) nach einer Konfigurationsdatei mit dem Namen ads.properties. Sie können diesen Pfad und Dateinamen zur Laufzeit überschreiben, wenn Sie GoogleAdsClient mit einem der folgenden Mechanismen erstellen:
- Rufen Sie
fromPropertiesFile(PATH_TO_CONFIG_FILE)auf. Dabei istPATH_TO_CONFIG_FILEderFile-Pfad und der Dateiname Ihrer Konfigurationsdatei. - Legen Sie die Umgebungsvariable
GOOGLE_ADS_CONFIGURATION_FILE_PATHauf den Pfad und Dateinamen Ihrer Konfigurationsdatei fest und rufen Sie dannfromPropertiesFile()auf.
Das Format der Konfigurationsdatei ist eine standardmäßige Java-Properties-Datei mit Schlüssel/Wert-Paaren. Die unterstützten Schlüssel variieren je nach ausgewähltem Authentifizierungsablauf.
Unterstützte Schlüssel für Desktop- und Webanwendungs-Flows
Wenn Sie den Einzelnutzer- oder Mehrere Nutzer-Anwendungsablauf verwenden, werden die folgenden Schlüssel unterstützt:
# 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
Unterstützte Schlüssel für Dienstkonten
Wenn Sie den Dienstkonto-Ablauf verwenden, sind die folgenden Schlüssel zulässig:
# 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
Umgebungsvariablen verwenden
Die Bibliothek unterstützt alle Standard-Umgebungsvariablen der Google Ads API-Clientbibliothek. In der folgenden Tabelle sehen Sie die Umgebungsvariable, die der jeweiligen Eigenschaft der Konfigurationsdatei entspricht:
| Attribut der Konfigurationsdatei | Umgebungsvariable |
|---|---|
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 (optional in v46.0.0 und höher) |
GOOGLE_ADS_DEVELOPER_TOKEN |
Nachdem Sie die entsprechenden Umgebungsvariablen festgelegt haben, konfigurieren Sie GoogleAdsClient, indem Sie fromEnvironment() für den Builder aufrufen:
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Konfigurationsansätze kombinieren
GoogleAdsClient und der zugehörige Builder unterstützen die Kombination verschiedener Konfigurationsstrategien. Mit dem folgenden Snippet können Sie beispielsweise Umgebungsvariablen verwenden, um die Anmeldedaten der Instanz zu konfigurieren, und eine Eigenschaftendatei für andere Attribute:
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
Sie können zur Laufzeit weitere Änderungen mit den anderen Konfigurationsmethoden des Builders vornehmen, bevor Sie build() aufrufen.
Einstellung von Entwicklertokens
Nach der Einstellung von Entwicklertokens am 9. September 2026 werden die API-Zugriffsebenen durch Ihr Google Cloud-Projekt auf dem API-Server und nicht durch ein Entwicklertoken bestimmt:
- Konfigurationsänderungen: Sie müssen
api.googleads.developerTokeninads.propertiesoderGOOGLE_ADS_DEVELOPER_TOKENin Ihren Umgebungsvariablen nicht mehr angeben. Bestehende Anwendungen, in denenapi.googleads.developerTokenweiterhin angegeben ist, funktionieren weiterhin, da API-Server den Headerdeveloper-tokenignorieren. In einer zukünftigen Hauptversion der Google Ads API wird er jedoch abgelehnt. - Anforderungen an die Clientbibliotheksversion: Wenn Sie das Entwicklertoken aus Ihrer Konfiguration entfernen möchten, verwenden Sie
google-ads-javav46.0.0oder höher. In diesen Versionen wurde die clientseitige Validierung entfernt, für die ein Entwicklertoken erforderlich war. - Änderungen bei Autorisierungsfehlern: Wenn ein Google Cloud-Projekt mit nur Testzugriff ein Google Ads-Produktionskonto aufruft, wird in
v25und späteren Versionen der Google Ads APIAuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTIONzurückgegeben, während inv24und früheren VersionenAuthorizationError.ACTION_NOT_PERMITTEDzurückgegeben wird.