Konfiguration

<ph type="x-smartling-placeholder">

Die Google Ads API-Clientbibliothek bietet verschiedene Konfigurationseinstellungen, mit denen Sie das Bibliotheksverhalten anpassen können.

Bibliothek zur Laufzeit konfigurieren

Die bevorzugte Methode zum Konfigurieren der Client-Bibliothek besteht in der Initialisierung einer GoogleAdsConfig-Objekt zur Laufzeit:

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.APPLICATION,
    OAuth2ClientId = "******.apps.googleusercontent.com",
    OAuth2ClientSecret = "******",
    OAuth2RefreshToken = "******"
};

GoogleAdsClient client = new GoogleAdsClient(config);

Alternative Konfigurationsoptionen

Außerdem bieten wir einige zusätzliche Optionen zur Konfiguration der Clientbibliothek: eine Nuget-Referenz zu Google.Ads.GoogleAds.Extensions hinzufügen, Paket in für Ihr Projekt.

Wenn Sie eine dieser Optionen verwenden, werden die Konfigurationseinstellungen nicht übernommen automatisch laden: Sie sollten sie wie unten gezeigt explizit laden.

Mit App.config konfigurieren

Alle Google Ads API-spezifischen Einstellungen sind in GoogleAdsApi gespeichert. Knoten der Datei App.config. Eine typische App.config-Konfiguration ist folgt:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
  </configSections>
  <GoogleAdsApi>
    <!-- Set the service timeout in milliseconds. -->
    <add key="Timeout" value="2000" />

    <!-- Proxy settings for library. -->
    <add key="ProxyServer" value="http://localhost:8888"/>
    <add key="ProxyUser" value=""/>
    <add key="ProxyPassword" value=""/>
    <add key="ProxyDomain" value=""/>

    <!-- API-specific settings -->
    <add key="DeveloperToken" value="******"/>

    <!-- OAuth2 settings -->
    <add key = "OAuth2Mode" value="APPLICATION"/>
    <add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
    <add key = "OAuth2ClientSecret" value = "******" />
    <add key = "OAuth2RefreshToken" value = "******" />
  </GoogleAdsApi>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

Rufen Sie zum Laden von Konfigurationseinstellungen aus einer App.config-Datei die Methode LoadFromDefaultAppConfigSection-Methode für ein GoogleAdsConfig-Objekt:

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);

Separate App.config-Datei angeben

Wenn Sie Ihr Gerät (App.config) nicht unübersichtlich machen möchten, können Sie das bibliotheksspezifische Konfiguration in eine eigene Konfigurationsdatei mithilfe der Methode configSource Property.

Schritt 1: configSource in App.config angeben

Ändern Sie App.config so:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
  </configSections>
  <GoogleAdsApi configSource="GoogleAdsApi.config"/>
...
</configuration>

Schritt 2: Inhalt der Konfigurationsdatei angeben

Erstellen Sie nun eine weitere Konfigurationsdatei mit dem Namen, den Sie in configSource angegeben haben, und verschieben Sie den Konfigurationsknoten von Ihrer App.config in diese Datei:

<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
  ... More settings.
</GoogleAdsApi>

Schritt 3: Build-Regeln im CSPROJ korrigieren

Fügen Sie zum Schluss die neue Konfigurationsdatei in Ihr Projekt ein. Eigenschaften ändern dieser Datei in Immer in Ausgabeordner kopieren speichern.

Erstellen Sie nun Ihr Projekt und führen Sie es aus. Ihre Anwendung beginnt mit der Erfassung von Werten. aus der neuen Konfigurationsdatei.

Konfiguration mit einer benutzerdefinierten JSON-Datei

Sie können einen IConfigurationRoot Instanz zum Konfigurieren der Clientbibliothek.

JSON-Datei erstellen

Erstellen Sie eine JSON-Datei mit dem Namen GoogleAdsApi.json, die eine ähnliche Struktur wie die der App.config-Datei.

{
    "Timeout": "2000",

    "ProxyServer": "http://localhost:8888",
    "ProxyUser": "",
    "ProxyPassword": "",
    "ProxyDomain": "",

    "DeveloperToken": "******",

    "OAuth2Mode": "APPLICATION",
    "OAuth2ClientId": "******.apps.googleusercontent.com",
    "OAuth2ClientSecret": "******",
    "OAuth2RefreshToken": "******",
}

Konfiguration laden

Laden Sie als Nächstes die JSON-Datei in ein IConfigurationRoot-Objekt.

ConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);

Konfiguration mit settings.json

Der Vorgang hier ähnelt der Verwendung eines benutzerdefinierten JSON-Formats, mit dem Unterschied, dass die Schlüssel sich in einem Abschnitt namens GoogleAdsApi befinden:

{
    "GoogleAdsApi":
    {
        "DeveloperToken": "******",
        "OAuth2Mode": "APPLICATION",
        "OAuth2ClientId": "******.apps.googleusercontent.com",
        "OAuth2ClientSecret": "******",
        "OAuth2RefreshToken": "******",
        ...
    }
    // More settings...
}

Als Nächstes können Sie die Instanz IConfiguration auf Ihrer Seite verwenden:

IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);

Konfiguration mithilfe von Umgebungsvariablen

Sie können GoogleAdsClient auch mithilfe von Umgebungsvariablen initialisieren:

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);

Vollständige Liste der unterstützten Umgebungen Variablen.

Felder für die Konfiguration

Im Folgenden finden Sie eine Liste der Einstellungen, die von der .NET-Bibliothek von Google Ads unterstützt werden.

Konnektivitätseinstellungen

  • Timeout: Mit diesem Schlüssel können Sie das Zeitlimit für den Dienst in Millisekunden festlegen. Die Der Standardwert wird anhand der method_config/timeout-Einstellung festgelegt in googleads_grpc_service_config.json. Legen Sie einen niedrigeren Wert fest, wenn Sie ein kürzeres Limit für die Maximalzeit erzwingen müssen. für einen API-Aufruf. Sie können das Zeitlimit auf 2 Stunden oder länger festlegen, aber die API kann bei extrem lang andauernden Anfragen trotzdem DEADLINE_EXCEEDED Fehler.
  • ProxyServer: Legen Sie hier die HTTP-Proxy-Server-URL fest, wenn Sie eine mit dem Internet verbinden.
  • ProxyUser: Legen Sie hier den Nutzernamen fest, bei dem Sie sich authentifizieren müssen. über den Proxyserver. Lassen Sie dieses Feld leer, wenn kein Nutzername erforderlich ist.
  • ProxyPassword: Legen Sie dafür das Passwort ProxyUser fest, wenn Sie einen Wert festlegen. für ProxyUser.
  • ProxyDomain: Legen Sie hier die Domain für ProxyUser fest, wenn Ihr Proxyserver erfordert, dass eines festgelegt wird.
  • MaxReceiveMessageLengthInBytes: Mit dieser Einstellung können Sie das Maximum Größe der API-Antwort, die die Clientbibliothek verarbeiten kann. Standardeinstellung 64 MB groß ist.
  • MaxMetadataSizeInBytes: Mit dieser Einstellung können Sie das Maximum Größe der API-Fehlerantwort, die die Clientbibliothek verarbeiten kann. Die Der Standardwert ist 16 MB.

MaxReceiveMessageLengthInBytes und MaxMetadataSizeInBytes anpassen Einstellungen, um bestimmte ResourceExhausted-Fehler zu beheben. Diese Einstellungen zielen auf Fehler im Format Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)".

In diesem Beispiel ist der Fehler auf die Nachrichtengröße (423184132 bytes) zurückzuführen. ist größer als das, was die Bibliothek verarbeiten kann (67108864 bytes). Erhöhung MaxReceiveMessageLengthInBytes an 500000000, um diesen Fehler zu vermeiden.

Beachten Sie, dass der Fehler auch darauf hinweist, dass in Ihrem Code ein erheblicher eines großen Antwortobjekts (z. B. SearchGoogleAdsResponse) Dieses kann sich aufgrund des großen großen Objekts von .NET auf die Leistung Ihres Codes auswirken. Heap Wenn dies zu Leistungsbeeinträchtigungen führt, müssen Sie möglicherweise überlegen, um API-Aufrufe zu reorganisieren oder Teile Ihrer App umzugestalten.

OAuth2-Einstellungen

Wenn Sie OAuth2 zur Autorisierung Ihrer Aufrufe an die Google Ads API-Server verwenden, sollten Sie die folgenden Konfigurationsschlüssel festlegen:

  • AuthorizationMethod: Legen Sie OAuth2 fest.
  • OAuth2Mode: Legen Sie APPLICATION oder SERVICE_ACCOUNT fest.
  • OAuth2ClientId: Lege hier deine OAuth2-Client-ID fest.
  • OAuth2ClientSecret: Legen Sie hier Ihren OAuth2-Clientschlüssel fest.
  • OAuth2Scope: Legen Sie für diesen Wert verschiedene Umfänge fest, wenn Sie eine Autorisierung durchführen möchten. OAuth2-Tokens für mehrere APIs Diese Einstellung ist optional.

Wenn Sie OAuth2Mode == APPLICATION verwenden, müssen Sie Folgendes festlegen: zusätzliche Konfigurationsschlüssel.

  • OAuth2RefreshToken: Legen Sie für diesen Wert ein vorab generiertes OAuth2-Aktualisierungstoken fest. wenn Sie OAuth2-Tokens wiederverwenden möchten. Diese Einstellung ist optional.
  • OAuth2RedirectUri: Legen Sie diesen Wert auf die OAuth2-Weiterleitungs-URL fest. Diese Einstellung ist optional.

Weitere Informationen finden Sie in den folgenden Leitfäden:

Wenn Sie OAuth2Mode == SERVICE_ACCOUNT verwenden, müssen Sie die zusätzliche Konfigurationsschlüssel hinzufügen.

  • OAuth2PrnEmail: Legen Sie als Wert die E-Mail-Adresse Ihres Kontos fest. Identitätsdiebstahl.
  • OAuth2SecretsJsonPath: Legen Sie diesen Wert auf die OAuth2-JSON-Konfiguration fest. Dateipfad.

Siehe OAuth-Vorgang für Dienstkonten finden Sie weitere Informationen.

Transporteinstellungen

  • UseGrpcCore: Legen Sie diese Einstellung auf true fest, um die Grpc.Core-Bibliothek als der zugrunde liegenden Transportschicht. Siehe gRPC-Support finden Sie weitere Informationen.

Google Ads API-Einstellungen

Die folgenden Einstellungen gelten speziell für die Google Ads API.

  • DeveloperToken: Legen Sie hier Ihr Entwicklertoken fest.
  • LoginCustomerId: Kundennummer des autorisierten Kunden, der verwendet werden soll in der Anfrage ohne Bindestriche (-) enthalten.
  • LinkedCustomerId: Dieser Header ist nur für Methoden erforderlich, mit denen die einer Entität, wenn über „Verknüpfte Konten“ in der Google Ads-Benutzeroberfläche (AccountLink-Ressource in der Google Ads API) Legen Sie für diesen Wert die Kundennummer des Datenanbieters, der die Ressourcen der angegebenen Kundennummer. Er sollte ohne Bindestriche (-) festgelegt werden. Weitere Informationen zu verknüpften Konten.