Konfiguracja

Biblioteka klienta interfejsu Google Ads API ma kilka ustawień konfiguracji, których możesz użyć do dostosowania zachowania biblioteki.

Konfigurowanie przy użyciu pliku app.config

Wszystkie ustawienia właściwe dla Google Ads API są przechowywane w węźle GoogleAdsApi pliku App.config. Typowa konfiguracja App.config wygląda tak:

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

Określanie oddzielnego pliku App.config

Jeśli nie chcesz, aby App.config był zaśmiecony, możesz przenieść konfigurację biblioteki do osobnego pliku konfiguracji, używając właściwości configSource.

Krok 1. Określ plik configSource w pliku app.config

Zmodyfikuj App.config, aby wyglądał tak:

<?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 konfiguracji o nazwie podanej w 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. Napraw reguły kompilacji w csproj

Na koniec dodaj do projektu nowy plik konfiguracji. Zmień właściwości tego pliku na 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

Do skonfigurowania biblioteki klienta możesz użyć instancji IConfigurationRoot.

Tworzenie pliku JSON

Utwórz plik JSON o nazwie GoogleAdsApi.json, która ma podobną strukturę do pliku App.config.

{
    "Timeout": "2000",

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

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

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

Wczytaj konfigurację

Następnie wczytaj plik JSON w pliku IConfigurationRoot.

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

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

Konfigurowanie przy użyciu pliku settings.json

Ten proces jest podobny do niestandardowego kodu JSON, z tą różnicą, że klucze powinny znajdować się w sekcji o nazwie GoogleAdsApi:

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

Następnie możesz użyć instancji IConfiguration na swojej stronie:

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

Konfigurowanie biblioteki w czasie działania

Możesz też zainicjować plik GoogleAdsClient w czasie działania.

Przykład 1. Inicjowanie konfiguracji w czasie działania

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

GoogleAdsClient client = new GoogleAdsClient(config);

Przykład 2. Wczytywanie z poziomu App.config, ale zastąpienie ustawienia

GoogleAdsClient client = new GoogleAdsClient(config);
client.Config.DeveloperToken = "******";

Konfigurowanie biblioteki za pomocą zmiennych środowiskowych

Możesz też zainicjować zdarzenie GoogleAdsClient za pomocą zmiennych środowiskowych. Ustawienia te nie są pobierane automatycznie. Należy też wczytać je ze zmiennych środowiskowych w sposób pokazany poniżej.

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

Pełną listę obsługiwanych zmiennych środowiskowych znajdziesz tutaj.

Pola konfiguracji

Poniżej znajdziesz listę ustawień obsługiwanych przez bibliotekę .NET Google Ads.

Ustawienia połączeń

  • Timeout: użyj tego klucza, aby ustawić czas oczekiwania usługi w milisekundach. Wartość domyślna jest ustawiana na podstawie ustawienia method_config/timeout w googleads_grpc_service_config.json. Ustaw mniejszą wartość, jeśli musisz ustawić krótszy limit maksymalnego wywołania interfejsu API. Możesz ustawić limit czasu na co najmniej 2 godziny, ale interfejs API nadal może mieć zbyt duży czas oczekiwania i zwraca błąd DEADLINE_EXCEEDED.
  • ProxyServer: wybierz tę opcję, jeśli do połączenia z internetem jest używany serwer proxy HTTP.
  • ProxyUser: wpisz w tym polu nazwę użytkownika, która ma być uwierzytelniana na serwerze proxy. Pozostaw puste, jeśli nazwa użytkownika nie jest wymagana.
  • ProxyPassword: ustaw hasło na wartość ProxyUser, jeśli ustawisz wartość dla ProxyUser.
  • ProxyDomain: ustaw wartość „ProxyUser” w domenie, jeśli serwer proxy wymaga takiego ustawienia.
  • MaxReceiveMessageLengthInBytes: użyj tego ustawienia, aby zwiększyć maksymalny rozmiar odpowiedzi interfejsu API, którą obsługuje biblioteka klienta. Wartość domyślna to 64 MB.
  • MaxMetadataSizeInBytes: użyj tego ustawienia, aby zwiększyć maksymalny rozmiar odpowiedzi z błędami interfejsu API, którą obsługuje biblioteka klienta. Wartość domyślna to 16 MB.

Ustawienia OAuth2

Jeśli używasz protokołu OAuth2 do autoryzowania połączeń z serwerami interfejsu Google Ads API, ustaw te klucze konfiguracji:

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

Jeśli używasz OAuth2Mode == APPLICATION, musisz ustawić następujące dodatkowe klucze konfiguracyjne.

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

Więcej informacji znajdziesz w tych przewodnikach:

Jeśli używasz OAuth2Mode == SERVICE_ACCOUNT, musisz ustawić następujące dodatkowe klucze konfiguracyjne.

  • OAuth2PrnEmail: ustaw tę wartość na adres e-mail konta, którego rolę odgrywasz.
  • OAuth2SecretsJsonPath: ustaw tę wartość na ścieżkę pliku konfiguracji OAuth2.

Więcej informacji znajdziesz w przewodniku po koncie usługi OAuth.

Poniższe ustawienia dotyczą interfejsu Google Ads API.

  • DeveloperToken: ustaw ten token na token programisty.
  • LoginCustomerId: to identyfikator klienta autoryzowanego klienta, który ma zostać użyty w żądaniu (bez łączników). (-) Więcej informacji
  • LinkedCustomerId: ten nagłówek jest wymagany tylko w przypadku metod aktualizowania zasobów encji po uzyskaniu uprawnień za pomocą połączonych kont w interfejsie 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 zostać ustawiony bez łączników (-). Więcej informacji o połączonych kontach znajdziesz w Centrum pomocy.