Konfiguration

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 ist PATH_TO_CONFIG_FILE der File-Pfad und der Dateiname Ihrer Konfigurationsdatei.
  • Legen Sie die Umgebungsvariable GOOGLE_ADS_CONFIGURATION_FILE_PATH auf den Pfad und Dateinamen Ihrer Konfigurationsdatei fest und rufen Sie dann fromPropertiesFile() 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.developerToken in ads.properties oder GOOGLE_ADS_DEVELOPER_TOKEN in Ihren Umgebungsvariablen nicht mehr angeben. Bestehende Anwendungen, in denen api.googleads.developerToken weiterhin angegeben ist, funktionieren weiterhin, da API-Server den Header developer-token ignorieren. 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-java v46.0.0 oder 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 v25 und späteren Versionen der Google Ads API AuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION zurückgegeben, während in v24 und früheren Versionen AuthorizationError.ACTION_NOT_PERMITTED zurückgegeben wird.