Konfiguracja

Biblioteka klienta interfejsu Google Ads API udostępnia kilka ustawień konfiguracji, które za pomocą których możesz dostosować działanie biblioteki.

Konfigurowanie biblioteki w czasie działania

Preferowanym sposobem skonfigurowania biblioteki klienta jest zainicjowanie GoogleAdsConfig obiekt w czasie działania:

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

GoogleAdsClient client = new GoogleAdsClient(config);

Alternatywne opcje konfiguracji

Udostępniamy też kilka dodatkowych opcji konfigurowania biblioteki klienta: włącz je, dodaj odwołanie do Nuget do Google.Ads.GoogleAds.Extensions przesyłka w do swojego projektu.

Jeśli użyjesz jednej z tych opcji, ustawienia konfiguracji nie zostaną pobrane automatycznie: należy je ładować w sposób pokazany poniżej.

Skonfiguruj za pomocą App.config

Wszystkie ustawienia usługi Google Ads API są przechowywane w: GoogleAdsApi węzła pliku App.config. Typowa konfiguracja App.config to następujące:

<?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>

Aby wczytać ustawienia konfiguracji z pliku App.config, wywołaj funkcję Metoda LoadFromDefaultAppConfigSection na obiekcie GoogleAdsConfig:

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

Określ oddzielny plik App.config

Jeśli nie chcesz, by w App.config był porządek, możesz przenieść konfiguracji biblioteki do własnego pliku konfiguracji za pomocą configSource. usłudze.

Krok 1. Określ parametr configSource w pliku App.config

Zmień App.config na taki:

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

Krok 2. Określ zawartość pliku konfiguracyjnego

Teraz utwórz kolejny plik konfiguracyjny o nazwie podanej w dniu configSource, i przenieś węzeł konfiguracji z App.config do tego pliku:

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

Krok 3. Popraw reguły kompilacji w csproj

Na koniec dodaj do projektu nowy plik konfiguracji. Zmiana właściwości do folderu Zawsze kopiuj do folderu wyjściowego.

Teraz skompiluj i uruchom projekt. Aplikacja zacznie pobierać wartości z nowego pliku konfiguracji.

Konfigurowanie przy użyciu niestandardowego pliku JSON

Za pomocą IConfigurationRoot w instancji, aby skonfigurować bibliotekę klienta.

Tworzenie pliku JSON

Utwórz plik JSON o nazwie GoogleAdsApi.json o podobnej strukturze App.config.

{
    "Timeout": "2000",

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

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

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

Wczytywanie konfiguracji

Następnie wczytaj plik JSON do folderu 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);

Konfiguracja za pomocą pliku settings.json

Proces ten jest podobny do niestandardowego pliku JSON z tą różnicą, że klucze znajdują się w sekcji o nazwie GoogleAdsApi:

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

Następnie możesz użyć wystąpienia IConfiguration na stronie:

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

Konfigurowanie przy użyciu zmiennych środowiskowych

Możesz również zainicjować GoogleAdsClient, używając zmiennych środowiskowych:

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

Zobacz pełną listę obsługiwanych środowisk .

Pola konfiguracji

Poniżej znajduje się lista ustawień obsługiwanych przez bibliotekę .NET Google Ads.

Ustawienia łączności

  • Timeout: użyj tego klucza, aby ustawić limit czasu usługi w milisekundach. Wartość domyślna jest ustawiana na podstawie ustawienia method_config/timeout w googleads_grpc_service_config.json. Ustaw niższą wartość, jeśli chcesz egzekwować krótszy limit maksymalnego czasu. dla wywołania interfejsu API. Możesz ustawić limit czasu na co najmniej 2 godziny, ale interfejs API może w dalszym ciągu bardzo długo trwają żądania i zwracają błąd Błąd DEADLINE_EXCEEDED.
  • ProxyServer: jeśli używasz protokołu HTTP, ustaw w nim adres URL serwera proxy HTTP serwer proxy, aby połączyć się z internetem.
  • ProxyUser: ustaw tę nazwę na nazwę użytkownika, której chcesz używać do uwierzytelniania. serwer proxy. Pozostaw to pole puste, jeśli nazwa użytkownika nie jest wymagana.
  • ProxyPassword: jeśli masz ustawioną wartość, ustaw je na hasło ProxyUser za ProxyUser.
  • ProxyDomain: ustaw tutaj domenę ProxyUser, jeśli serwer proxy wymaga jego skonfigurowania.
  • MaxReceiveMessageLengthInBytes: za pomocą tego ustawienia możesz zwiększyć wartość maksymalną rozmiar odpowiedzi interfejsu API, jaką może obsłużyć biblioteka klienta. Domyślny wynosi 64 MB.
  • MaxMetadataSizeInBytes: za pomocą tego ustawienia możesz zwiększyć wartość maksymalną rozmiar odpowiedzi na błąd interfejsu API, jaką może obsłużyć biblioteka klienta. Wartość domyślna to 16 MB.

Dostosuj: MaxReceiveMessageLengthInBytes i MaxMetadataSizeInBytes naprawianie określonych ResourceExhausted błędów. Te ustawienia dotyczą ma format Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)".

W tym przykładzie błąd wynika z rozmiaru wiadomości (423184132 bytes) jest większy niż rozmiar biblioteki (67108864 bytes). Zwiększ MaxReceiveMessageLengthInBytes do 500000000, by uniknąć tego błędu.

Zwróć uwagę, że błąd wskazuje również, że Twój kod obsługiwał znacznie duży obiekt Response (taki jak duży SearchGoogleAdsResponse). Ten może wpłynąć na wydajność kodu ze względu na duży obiekt klasy .NET Sterta. Jeśli obawiasz się o skuteczność, zastanów się, jak uporządkowanie wywołań interfejsu API lub przeprojektowanie części aplikacji.

Ustawienia OAuth2

Jeśli używasz OAuth2 do autoryzowania wywołań na serwerach interfejsu Google Ads API, należy ustawić następujące klucze konfiguracyjne:

  • AuthorizationMethod: ustaw wartość OAuth2.
  • OAuth2Mode: ustaw wartość APPLICATION lub SERVICE_ACCOUNT.
  • OAuth2ClientId: ustaw tę wartość na identyfikator klienta OAuth2.
  • OAuth2ClientSecret: ustaw tę wartość na tajny klucz klienta OAuth2.
  • OAuth2Scope: jeśli chcesz autoryzować, ustaw tę wartość na inne zakresy Tokeny OAuth2 dla wielu interfejsów API. To ustawienie jest opcjonalne.

Jeśli korzystasz z szablonu OAuth2Mode == APPLICATION, musisz skonfigurować te ustawienia dodatkowych kluczy konfiguracji.

  • OAuth2RefreshToken: ustaw tę wartość na wstępnie wygenerowany token odświeżania OAuth2 jeśli chcesz używać tokenów OAuth2. To ustawienie jest opcjonalne.
  • OAuth2RedirectUri: ustaw tę wartość na przekierowanie OAuth2. To ustawienie jest opcjonalna.

Więcej informacji znajdziesz w tych przewodnikach:

Jeśli korzystasz z OAuth2Mode == SERVICE_ACCOUNT, musisz ustawić po dodatkowych kluczach konfiguracji.

  • OAuth2PrnEmail: ustaw tę wartość na adres e-mail konta, którym jesteś podszywania się pod inne osoby.
  • OAuth2SecretsJsonPath: ustaw tę wartość na konfigurację JSON protokołu OAuth2 ścieżki pliku.

Zapoznaj się z procedurą konfiguracji konta usługi OAuth. .

Ustawienia transportu

Ustawienia interfejsu Google Ads API

Te ustawienia dotyczą tylko interfejsu Google Ads API.

  • DeveloperToken: ustaw ten token programisty.
  • LoginCustomerId: identyfikator klienta autoryzowanego klienta. w żądaniu, bez łączników (-).
  • LinkedCustomerId: ten nagłówek jest wymagany tylko w przypadku metod, które aktualizują zasobów jednostki z uprawnieniami w sekcji Połączone konta, Interfejs Google Ads (zasób AccountLink w interfejsie Google Ads API). Ustaw tę wartość na identyfikator klienta dostawcy danych, który aktualizuje zasoby określonego identyfikatora klienta. Powinien być ustawiony bez łączników (-). Więcej informacji o połączonych linkach Konta.