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 dermethod_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 trotzdemDEADLINE_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 PasswortProxyUser
fest, wenn Sie einen Wert festlegen. fürProxyUser
.ProxyDomain
: Legen Sie hier die Domain fürProxyUser
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
undMaxMetadataSizeInBytes
anpassen Einstellungen, um bestimmteResourceExhausted
-Fehler zu beheben. Diese Einstellungen zielen auf Fehler im FormatStatus(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öhungMaxReceiveMessageLengthInBytes
an500000000
, 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 SieOAuth2
fest.OAuth2Mode
: Legen SieAPPLICATION
oderSERVICE_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 auftrue
fest, um dieGrpc.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.