Konfiguration

Die Perl-Clientbibliothek der Google Ads API bietet mehrere Konfigurationseinstellungen, mit denen Sie das Verhalten der Bibliothek anpassen können.

Konfigurationsdatei

Sie können eine googleads.properties-Datei angeben, die beim Instanziieren des Clients verwendet werden soll.

Wenn Sie beim Instanziieren keine Argumente verwenden:

my $api_client = Google::Ads::GoogleAds::Client->new();

sucht die Bibliothek im Verzeichnis HOME nach der Datei oder im Pfad, der in der Umgebungsvariablen GOOGLE_ADS_CONFIGURATION_FILE_PATH angegeben ist, falls diese festgelegt ist.

Alternativ können Sie einen Pfad explizit angeben:

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file,
});

In diesem Fall sucht der Client die Datei unter diesem Pfad.

Am einfachsten lässt sich diese Datei generieren, indem Sie googleads.properties aus dem GitHub-Repository kopieren und so ändern, dass sie Ihre Client-ID, Ihren Clientschlüssel und Ihr Aktualisierungstoken enthält.

Dynamische Konfiguration

Sie können die Konfiguration dynamisch einrichten, wenn Sie die Bibliothek instanziieren oder danach:

my $api_client = Google::Ads::GoogleAds::Client->new({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});

Sie können die Konfiguration auch nach der Instanziierung ändern:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Sie können auch ein OAuth2ApplicationsHandler-Objekt aus der Client-Instanz abrufen und die Client-ID, den Clientschlüssel und das Aktualisierungstoken zur Laufzeit ändern:

my $oauth2_applications_handler =
  $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");

Konfigurationsumgebungsvariablen

Sie können einige der Konfigurationseinstellungen über Umgebungsvariablen festlegen, wenn Sie Clients instanziieren (siehe Standardumgebungsvariablen).

Das Modul Client stellt die Funktion configure_from_environment_variables bereit, um Werte aus Umgebungsvariablen zu laden.

# Get the Google Ads API Client. By default, any credentials are read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();

# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();

Konfigurationsfelder

Beachten Sie, dass googleads.properties-Schlüssel camelCase verwenden (z. B. loginCustomerId und linkedCustomerId), während Client->new({...})-Konstruktorargumente und Handler-Methoden snake_case verwenden (z. B. login_customer_id und linked_customer_id).

In OAuth2ApplicationsHandler beibehaltene Felder:

  • client_id (clientId in googleads.properties, GOOGLE_ADS_CLIENT_ID): Ihre OAuth2-Client-ID.
  • client_secret (clientSecret in googleads.properties, GOOGLE_ADS_CLIENT_SECRET): Ihr OAuth2-Clientschlüssel.
  • refresh_token (refreshToken in googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): Ihr OAuth2-Aktualisierungstoken.
  • additional_scopes (additionalScopes in googleads.properties): Zusätzliche OAuth2-Bereiche, die angefordert werden sollen.

In OAuth2ServiceAccountsHandler beibehaltene Felder:

  • json_key_file_path (jsonKeyFilePath in googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH): Der Pfad zur JSON-Schlüsseldatei Ihres Dienstkontos.
  • impersonated_email (impersonatedEmail in googleads.properties, GOOGLE_ADS_IMPERSONATED_EMAIL): Die E-Mail-Adresse, die bei der Verwendung der domainweiten Delegation von Google Workspace imitiert werden soll.
  • additional_scopes (additionalScopes in googleads.properties): Zusätzliche OAuth2-Bereiche, die angefordert werden sollen.

In Client beibehaltene Felder:

  • login_customer_id (loginCustomerId in googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): Die ID des Verwaltungskontos, das für den Zugriff auf das Kundenkonto verwendet wird. Weitere Informationen finden Sie in der Dokumentation zu „login-customer-id“.
  • linked_customer_id (linkedCustomerId in googleads.properties, GOOGLE_ADS_LINKED_CUSTOMER_ID): Die verknüpfte Kundennummer.
  • service_address (serviceAddress in googleads.properties, GOOGLE_ADS_ENDPOINT): Die URL der Google Ads API-Dienstadresse (Standard: "https://googleads.googleapis.com").
  • user_agent (userAgent in googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): Benutzerdefiniertes User-Agent-Header-Präfix, das in HTTP-Anfragen enthalten ist.
  • proxy (proxy in googleads.properties, GOOGLE_ADS_PERL_PROXY): Die Proxyserver-URL, die für die Internetverbindung verwendet wird.
  • version (Client->new oder set_version): Das zu verwendende Google Ads API-Versionsmodul (Standardwert ist "V26").
  • die_on_faults (Client->new oder set_die_on_faults): Legen Sie 1 fest, damit Dienstmethoden bei API-Fehlern die() mit der Rohantwortnutzlast aufrufen, anstatt ein Google::Ads::GoogleAds::GoogleAdsException-Objekt zurückzugeben (Standardeinstellung ist 0).
  • http_timeout (Client->new oder set_http_timeout): Das HTTP-Zeitlimit in Sekunden (Standardwert ist 3600).
  • http_retry_timing (Client->new oder set_http_retry_timing): Wiederholungspausenintervalle in Sekunden für vorübergehende HTTP-Fehler 503 und 504 (Standardwert ist "5,10,15").