Die Google Ads API-Clientbibliothek bietet mehrere Konfigurationseinstellungen, mit denen Sie das Bibliotheksverhalten anpassen können.
Bibliothek zur Laufzeit konfigurieren
Die bevorzugte Methode zum Konfigurieren der Clientbibliothek ist die Initialisierung eines GoogleAdsConfig-Objekts zur Laufzeit:
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.APPLICATION,
OAuth2ClientId = "INSERT_CLIENT_ID.apps.googleusercontent.com",
OAuth2ClientSecret = "INSERT_CLIENT_SECRET",
OAuth2RefreshToken = "INSERT_REFRESH_TOKEN"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Alternative Konfigurationsoptionen
Die Bibliothek bietet auch zusätzliche Optionen zum Laden von Konfigurationseinstellungen. Um sie zu aktivieren, fügen Sie Ihrem Projekt eine NuGet-Referenz zum Google.Ads.GoogleAds.Extensions-Paket hinzu.
Wenn Sie eine dieser Optionen verwenden, werden die Konfigurationseinstellungen nicht automatisch übernommen. Sie müssen sie explizit laden, wie in den folgenden Abschnitten beschrieben. Achten Sie darauf, dass Sie Datei-I/O-Ausnahmen (z. B. FileNotFoundException oder UnauthorizedAccessException) beim Laden von Einstellungen aus externen Dateien oder Streams abfangen.
App.config verwenden
Alle spezifischen Einstellungen für die Google Ads API werden im Knoten GoogleAdsApi der Datei App.config gespeichert. Eine typische Konfiguration App.config sieht so aus:
<?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="" />
<!-- OAuth2 settings -->
<add key="OAuth2Mode" value="APPLICATION" />
<add key="OAuth2ClientId"
value="INSERT_CLIENT_ID.apps.googleusercontent.com" />
<add key="OAuth2ClientSecret" value="INSERT_CLIENT_SECRET" />
<add key="OAuth2RefreshToken" value="INSERT_REFRESH_TOKEN" />
</GoogleAdsApi>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
Rufen Sie die Methode LoadFromDefaultAppConfigSection für ein GoogleAdsConfig-Objekt auf, um Konfigurationseinstellungen aus einer App.config-Datei zu laden:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Separate App.config-Datei angeben
Wenn Sie die Datei App.config nicht überladen möchten, können Sie die bibliotheksspezifische Konfiguration mit dem Attribut configSource in eine eigene Konfigurationsdatei verschieben:
Geben Sie in Ihrem
App.configeinconfigSourcean. Ändern SieApp.config, um auf eine externe Konfigurationsdatei zu verweisen:<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" /> </configSections> <GoogleAdsApi configSource="GoogleAdsApi.config" /> </configuration>Inhalt der Konfigurationsdatei angeben Erstellen Sie eine weitere Konfigurationsdatei mit dem Namen, den Sie in
configSourceangegeben haben (GoogleAdsApi.config), und verschieben Sie den KonfigurationsknotenGoogleAdsApiaus IhrerApp.configin diese Datei:<?xml version="1.0" encoding="utf-8" ?> <GoogleAdsApi> <!-- More settings. --> </GoogleAdsApi>Build-Regeln in Ihrem
.csprojaktualisieren Fügen Sie die neue Konfigurationsdatei in Ihr Projekt ein und legen Sie die Eigenschaft Copy to Output Directory auf Copy always fest. Erstellen Sie Ihr Projekt neu und führen Sie es aus, damit Ihre Anwendung Werte aus der neuen Konfigurationsdatei übernimmt.
Benutzerdefinierte JSON-Datei verwenden
Sie können eine IConfigurationRoot-Instanz verwenden, um die Clientbibliothek zu konfigurieren.
JSON-Datei erstellen
Erstellen Sie eine JSON-Datei mit dem Namen GoogleAdsApi.json, die eine ähnliche Struktur wie die Datei App.config hat:
{
"Timeout": "2000",
"ProxyServer": "http://localhost:8888",
"ProxyUser": "",
"ProxyPassword": "",
"ProxyDomain": "",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "INSERT_CLIENT_ID.apps.googleusercontent.com",
"OAuth2ClientSecret": "INSERT_CLIENT_SECRET",
"OAuth2RefreshToken": "INSERT_REFRESH_TOKEN"
}
Konfiguration laden
Laden Sie als Nächstes die JSON-Datei in ein IConfigurationRoot:
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);
settings.json verwenden
Der Vorgang ähnelt der Verwendung einer benutzerdefinierten JSON-Datei, mit dem Unterschied, dass sich die Schlüssel in einem Abschnitt mit dem Namen GoogleAdsApi befinden sollten:
{
"GoogleAdsApi": {
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "INSERT_CLIENT_ID.apps.googleusercontent.com",
"OAuth2ClientSecret": "INSERT_CLIENT_SECRET",
"OAuth2RefreshToken": "INSERT_REFRESH_TOKEN"
}
}
Extrahieren Sie als Nächstes den GoogleAdsApi-Abschnitt aus der IConfiguration-Instanz Ihrer Anwendung (z. B. eingefügt von ASP.NET Core oder erstellt mit ConfigurationBuilder):
IConfigurationSection section = configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Alternativ können Sie eine settings.json-Datei direkt über den Pfad mit config.LoadFromSettingsJson(filePath, "GoogleAdsApi") oder über die Umgebungsvariable GOOGLE_ADS_CONFIGURATION_FILE_PATH (EnvironmentVariableNames.CONFIG_FILE_PATH) mit config.TryLoadFromEnvironmentFilePath laden.
Umgebungsvariablen verwenden
Sie können GoogleAdsClient auch mit Umgebungsvariablen initialisieren:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Vollständige Liste der unterstützten Umgebungsvariablen
Generischen Stream verwenden
Sie können die Konfiguration oder Teile davon auch aus einem generischen Stream laden, einschließlich eines verschlüsselten Streams:
GoogleAdsConfig config = new GoogleAdsConfig()
{
// Set some configuration properties in code.
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
};
// Load your encrypted data from a file and dispose of the streams properly.
using (CryptoStream strm = GetEncryptedCredentialsStream())
using (StreamReader rdr = new StreamReader(strm))
{
// Configure the OAuth credentials from the encrypted stream.
config.LoadOAuth2SecretsFromStream(rdr);
}
GoogleAdsClient client = new GoogleAdsClient(config);
Felder für die Konfiguration
In den folgenden Abschnitten werden die von der Google Ads .NET-Bibliothek unterstützten Einstellungen aufgeführt.
Konnektivitätseinstellungen
Timeout: Mit diesem Schlüssel können Sie das Service-Zeitlimit in Millisekunden festlegen. Der Standardwert wird basierend auf der Einstellungmethod_config/timeoutingoogleads_grpc_service_config.jsonfestgelegt. Legen Sie einen niedrigeren Wert fest, wenn Sie ein kürzeres Limit für die maximale Zeit für einen API-Aufruf erzwingen müssen. Sie können das Zeitlimit auf 2 Stunden oder mehr festlegen. Bei sehr zeitaufwendigen Anfragen kann es jedoch trotzdem zu einem Zeitlimitüberschreitungsfehler kommen und die API gibt dann den FehlerDEADLINE_EXCEEDEDzurück.ProxyServer: Legen Sie diese Option auf die HTTP-Proxyserver-URL fest, wenn Sie einen Proxy verwenden, um eine Verbindung zum Internet herzustellen.ProxyUser: Legen Sie hier den Nutzernamen fest, den Sie für die Authentifizierung beim Proxyserver benötigen. Lassen Sie dieses Feld leer, wenn kein Nutzername erforderlich ist.ProxyPassword: Legen Sie dies auf das Passwort vonProxyUserfest, wenn Sie einen Wert fürProxyUserfestlegen.ProxyDomain: Legen Sie dies auf die Domain fürProxyUserfest, wenn Ihr Proxyserver eine solche erfordert.MaxReceiveMessageLengthInBytes: Mit dieser Einstellung können Sie die maximale Größe der API-Antwort erhöhen, die die Clientbibliothek verarbeiten kann. Der Standardwert ist 64 MB.MaxMetadataSizeInBytes: Mit dieser Einstellung können Sie die maximale Größe der API-Fehlerantwort erhöhen, die die Clientbibliothek verarbeiten kann. Der Standardwert ist 16 MB.
Passen Sie die Einstellungen für MaxReceiveMessageLengthInBytes und MaxMetadataSizeInBytes an, um bestimmte ResourceExhausted-Fehler zu beheben. Diese Einstellungen beziehen sich auf Fehler des folgenden Typs:
Status(StatusCode="ResourceExhausted",Detail="Received
message larger than max (423184132 versus 67108864)"
In diesem Beispiel wird der Fehler durch die Nachrichtengröße (423184132 bytes) verursacht, die größer ist als die von der Bibliothek unterstützte Größe (67108864 bytes). Erhöhen Sie MaxReceiveMessageLengthInBytes auf 500000000, um diesen Fehler zu vermeiden. Der Fehler weist auch darauf hin, dass in Ihrem Code ein sehr großes Antwortobjekt (z. B. ein großes SearchGoogleAdsResponse) verarbeitet wurde. Dies kann sich aufgrund des Large Object Heap von .NET auf die Leistung Ihres Codes auswirken. Wenn dies zu Leistungsproblemen führt, müssen Sie möglicherweise Ihre API-Aufrufe neu organisieren oder Teile Ihrer App neu gestalten.
OAuth2-Einstellungen
Wenn Sie OAuth 2.0 verwenden, um Ihre Aufrufe an die Google Ads API-Server zu autorisieren, sollten Sie die folgenden Konfigurationsschlüssel festlegen:
AuthorizationMethod: Legen SieOAuth2fest.OAuth2Mode: AufAPPLICATIONoderSERVICE_ACCOUNTfestlegen.OAuth2ClientId: Setzen Sie diesen Wert auf Ihre OAuth 2.0-Client-ID.OAuth2ClientSecret: Setzen Sie diesen Wert auf Ihren OAuth 2.0-Clientschlüssel.OAuth2Scope: Legen Sie diesen Wert auf verschiedene Bereiche fest, wenn Sie OAuth 2.0-Tokens für mehrere APIs autorisieren möchten. Diese Einstellung ist optional.UseApplicationDefaultCredentials: Setzen Sie diesen Wert auftrue, um die Authentifizierung mit Standardanmeldedaten für Anwendungen durchzuführen (wird inGoogle.Ads.GoogleAdsv24.1.0und höher unterstützt;config.LoadFromEnvironmentVariables()liest die UmgebungsvariableUSE_APPLICATION_DEFAULT_CREDENTIALSohne Präfix).Credentials: (Nur Laufzeit, unterstützt inv27.0.0und höher) Eine vorkonstruierteICredential- oderGoogleCredential-Instanz wird zur Laufzeit direkt inGoogleAdsConfigeingefügt.
Wenn Sie OAuth2Mode == APPLICATION verwenden, müssen Sie die folgenden zusätzlichen Konfigurationsschlüssel festlegen:
OAuth2RefreshToken: Legen Sie diesen Wert auf ein vorab generiertes OAuth 2.0-Aktualisierungstoken fest, wenn Sie OAuth 2.0-Tokens wiederverwenden möchten. Diese Einstellung ist optional.OAuth2RedirectUri: Legen Sie diesen Wert auf die OAuth 2.0-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 folgenden zusätzlichen Konfigurationsschlüssel festlegen:
OAuth2SecretsJsonPath: Legen Sie diesen Wert auf den Pfad der OAuth 2.0-JSON-Schlüsseldatei fest.OAuth2PrnEmail: Legen Sie diesen Wert auf die E‑Mail-Adresse des Kontos fest, dessen Identität Sie bei der domainweiten Delegierung von Google Workspace annehmen. Diese Einstellung ist optional.
Weitere Informationen finden Sie im Leitfaden OAuth-Dienstkonto-Ablauf.
Einstellungen für Verkehrsmittel
UseGrpcCore: Legen Sie diese Einstellung auftruefest, um dieGrpc.Core-Bibliothek als zugrunde liegende Transportschicht zu verwenden. Weitere Informationen finden Sie unterGrpc.Core-Bibliothek verwenden.
Google Ads API-Einstellungen
Die folgenden Einstellungen gelten speziell für die Google Ads API:
DeveloperToken: Optional inv27.3.0und höher (GOOGLE_ADS_DEVELOPER_TOKEN). Entwicklertokens wurden am 9. September 2026 eingestellt. Auf dem API-Server werden Zugriffsebenen unabhängig von der Clientbibliotheksversion durch Ihr Google Cloud-Projekt bestimmt. API-Server ignorieren dendeveloper-token-Header (bis eine zukünftige Hauptversion der Google Ads API ihn ablehnt). Wenn SieDeveloperTokenaus Ihrer Konfiguration entfernen oder weglassen möchten, verwenden SieGoogle.Ads.GoogleAdsv27.3.0oder höher. In diesen Versionen wurde die lokale clientseitigeDeveloperToken-Validierung entfernt. In früheren Versionen ist für die lokale Validierung ein nicht leererDeveloperToken-Wert erforderlich.LoginCustomerId: Dies ist die Kunden-ID des autorisierten Kunden, die in der Anfrage ohne Bindestriche (-) verwendet werden soll.LinkedCustomerId: Dieser Header ist nur für Methoden erforderlich, mit denen die Ressourcen einer Einheit aktualisiert werden, wenn die Berechtigung über verknüpfte Konten in der Google Ads-Benutzeroberfläche (AccountLink-Ressource in der Google Ads API) erteilt wird. Legen Sie für diesen Wert die Kunden-ID des Datenanbieters fest, der die Ressourcen der angegebenen Kunden-ID aktualisiert. Sie sollte ohne Bindestriche festgelegt werden (-). Weitere Informationen zu verknüpften Konten