Konfiguration

Die Konfiguration wird mit der Klasse Config verwaltet. Sie können den Client mit einer Konfigurationsdatei konfigurieren, Werte bei der Erstellung dynamisch angeben oder Werte aus Umgebungsvariablen laden.

Konfigurationsdatei

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

Wenn Sie beim Instanziieren eines GoogleAdsClient-Objekts keine Argumente übergeben, sucht die Bibliothek in der folgenden Reihenfolge nach einer Konfigurationsdatei:

  1. Der in der Umgebungsvariablen GOOGLE_ADS_CONFIGURATION_FILE_PATH angegebene Pfad.
  2. Eine Datei mit dem Namen google_ads_config.rb in Ihrem HOME-Verzeichnis (~/google_ads_config.rb).

Alternativ können Sie beim Instanziieren des GoogleAdsClient-Objekts einen expliziten Pfad übergeben:

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')

Kopieren Sie zum Generieren dieser Datei google_ads_config.rb aus dem GitHub-Repository und ändern Sie sie so, dass sie Ihr Aktualisierungstoken, Ihre Client-ID und Ihren Clientschlüssel enthält.

Dynamische Konfiguration

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

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... additional configuration
end

Sie können die Konfiguration auch nach der Instanziierung ändern. Dadurch werden die während der Initialisierung geladenen Einstellungen überschrieben:

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... additional configuration
end

Konfigurationsfelder

Das Objekt Config unterstützt die folgenden Felder.

Allgemeine Felder:

  • refresh_token: Ihr OAuth-Aktualisierungstoken (GOOGLE_ADS_REFRESH_TOKEN).
  • client_id: Ihre OAuth-Client-ID (GOOGLE_ADS_CLIENT_ID).
  • client_secret: Ihr OAuth-Clientschlüssel (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile: Pfad zu einer JSON-Schlüsseldatei für ein Dienstkonto (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate: E-Mail-Adresse, die bei Verwendung eines Dienstkontos mit domainweiter Delegierung imitiert werden soll (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: Legen Sie true fest, um sich mit den Standardanmeldedaten für Anwendungen zu authentifizieren (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Wird in google-ads-googleads v36.1.0 und höher unterstützt.
  • authentication: Benutzerdefiniertes Authentifizierungsobjekt, z. B. ein Proc (updater_proc), ein Schlüsseldateipfad oder ein Hash oder GRPC::Core::Channel / GRPC::Core::ChannelCredentials. Überschreibt client_id, client_secret, refresh_token und keyfile.
  • login_customer_id: Weitere Informationen finden Sie in der Dokumentation zur Anmelde-Kundennummer (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • linked_customer_id: Die verknüpfte Kundennummer (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant: Optionaler Bezeichner für den Google Ads API Assistant-Header (GOOGLE_ADS_ASSISTANT; in Version 37.0.0 als gaada hinzugefügt und in Version 39.0.0 in ads_assistant umbenannt).
  • http_proxy: Optionale HTTP- oder HTTPS-Proxy-URI (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint: Optionale Überschreibung des API-Endpunkts (GOOGLE_ADS_ENDPOINT).
  • treat_deprecation_warnings_as_errors: Eine Ausnahme auslösen, anstatt Warning#warn aufzurufen, wenn veralteter Bibliothekscode aufgerufen wird (false standardmäßig).
  • warn_on_all_deprecations: Bei jedem Aufruf eine Warnung zur Einstellung einblenden, anstatt nur einmal pro Aufrufstelle (false standardmäßig).

Logfelder (vollständige Informationen finden Sie im Logging-Leitfaden):

  • log_level: Die Mindestlogebene für Nachrichten, die protokolliert werden sollen. Wenn Sie beispielsweise 'DEBUG' angeben, werden alle Nachrichten protokolliert. Wenn Sie 'INFO' angeben, werden DEBUG Nachrichten ausgeschlossen, alle anderen Nachrichten aber angezeigt.
  • log_target: Das Ziel, in dem Sie protokollieren möchten, z. B. STDERR oder ein Pfad.
  • logger: Geben Sie Ihren eigenen benutzerdefinierten Logger an. Wenn Sie diese Option angeben, werden sowohl log_level als auch log_target überschrieben.

Umgebungsvariablen

Sie können die Clientbibliothek mit Umgebungsvariablen konfigurieren. Sie werden nicht standardmäßig geladen und erfordern einen expliziten Aufruf nach dem Instanziieren des Clients, um geladen zu werden. Eine vollständige Liste der Standardumgebungsvariablen finden Sie hier.

Rufen Sie load_environment_config auf, um die Umgebungsvariablen in Ihre Config zu laden:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Jedes Mal, wenn load_environment_config aufgerufen wird, überschreiben alle definierten Umgebungsvariablen die entsprechenden Werte, die bereits in der Config vorhanden sind. Bei nicht festgelegten Umgebungsvariablen bleiben die vorhandenen Konfigurationswerte unverändert. Mit diesem Mechanismus können Sie eine Standardkonfigurationsdatei verwalten und bestimmte Werte mit Umgebungsvariablen überschreiben oder den Client vollständig mit Umgebungsvariablen konfigurieren.

Zusätzlich zu den Standardumgebungsvariablen unterstützt die Ruby-Bibliothek zwei weitere Variablen:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: Entspricht log_level, wie bereits erläutert.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: Geben Sie eine HTTP-Proxy-URL an.