Konfiguracja

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Biblioteka klienta interfejsu Google Ads API udostępnia kilka ustawień, których możesz używać do dostosowywania działania biblioteki.

Konfigurowanie przy użyciu pliku App.config

Wszystkie ustawienia dotyczące zasobnika 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śl oddzielny plik App.config

Jeśli nie chcesz, aby Twoja usługa App.config była zajęta, możesz przenieść konfigurację biblioteki do jej własnego pliku konfiguracji za pomocą właściwości configSource.

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

Zmodyfikuj App.config w następujący sposób:

<?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ś do niego plik konfiguracji z App.config:

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

Konfiguracja 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óry 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 do 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);

Konfiguracja za pomocą pliku settings.json

Proces ten jest podobny do używania niestandardowego kodu JSON, z tą różnicą, że klucze powinny być 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);

Skonfiguruj bibliotekę w czasie działania

Inicjację GoogleAdsClient możesz też zainicjować 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 pliku App.config, ale zastąpienie ustawienia

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

Konfiguracja przy użyciu zmiennych środowiskowych

Możesz też zainicjować zmienną GoogleAdsClient za pomocą zmiennych środowiskowych. Te ustawienia nie są pobierane automatycznie. Należy również wczytać ustawienia ze zmiennych środowiskowych, jak pokazano poniżej.

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

Zobacz pełną listę obsługiwanych zmiennych środowiskowych.

Pola konfiguracji

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

Ustawienia połączeń

  • Timeout: użyj tego klucza, aby określić czas oczekiwania na usługę w milisekundach. Wartość domyślna jest ustawiana na podstawie ustawienia method_config/timeout w pliku googleads_grpc_service_config.json. Ustaw mniejszą wartość, jeśli chcesz wymusić krótszy limit maksymalnego czasu wywołania interfejsu API. Możesz ustawić limit czasu na co najmniej 2 godziny, ale interfejs API może nadal wysyłać bardzo długie żądania i zwracać błąd DEADLINE_EXCEEDED.
  • ProxyServer: jeśli do łączenia się z internetem używasz serwera proxy HTTP, ustaw go na adres URL serwera proxy HTTP.
  • ProxyUser: wpisz nazwę użytkownika, która ma być uwierzytelniana na serwerze proxy. Pozostaw to pole puste, jeśli nazwa użytkownika nie jest wymagana.
  • ProxyPassword: ustaw tę wartość na ProxyUser, jeśli ustawisz wartość dla ProxyUser.
  • ProxyDomain: ustaw domenę na ProxyUser, jeśli serwer proxy wymaga jej ustawienia.
  • MaxReceiveMessageLengthInBytes: użyj tego ustawienia, aby zwiększyć maksymalny rozmiar odpowiedzi interfejsu API, którą może obsłużyć biblioteka klienta. Wartość domyślna to 64 MB.
  • MaxMetadataSizeInBytes: użyj tego ustawienia, aby zwiększyć maksymalny rozmiar odpowiedzi błędu interfejsu API, którą może obsłużyć biblioteka klienta. Wartość domyślna to 16 MB.

Dostosuj ustawienia MaxReceiveMessageLengthInBytes i MaxMetadataSizeInBytes, aby naprawić niektóre błędy ResourceExhausted. Te ustawienia naprawiają błędy w formularzu Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)".

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

Ten błąd wskazuje też, że kod obsługuje bardzo duży obiekt odpowiedzi (np. duży SearchGoogleAdsResponse). Może to mieć wpływ na wydajność kodu z powodu dużego obiektu .NET&#39. Jeśli stanie się to podyktowane problemami z wydajnością, konieczne może być zastanowienie się, jak zmienić kolejność wywołań interfejsu API lub zmodyfikować części aplikacji.

Ustawienia OAuth2

Jeśli używasz protokołu OAuth2 do uwierzytelniania wywołań serwerów Google Ads API, ustaw te klucze konfiguracji:

  • AuthorizationMethod: ustaw na OAuth2.
  • OAuth2Mode: ustaw 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ść dla różnych zakresów, jeśli chcesz autoryzować tokeny OAuth2 dla wielu interfejsów API. To ustawienie jest opcjonalne.

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

  • OAuth2RefreshToken: ustaw tę wartość na wstępnie wygenerowany token odświeżania OAuth2, jeśli chcesz ponownie wykorzystać tokeny OAuth2. 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.

Ustawienia transportu

  • UseGrpcCore: ustaw to ustawienie na true, aby używać biblioteki Grpc.Core jako bazowej warstwy transportu. Więcej informacji znajdziesz w przewodniku pomocy gRPC.

Ustawienia interfejsu Google Ads API

Poniższe ustawienia odnoszą się do interfejsu Google Ads API.

  • DeveloperToken: ustaw ten token tokena.
  • LoginCustomerId: to identyfikator klienta upoważnionego klienta do użycia w żądaniu bez myślników (-). Więcej informacji
  • LinkedCustomerId: ten nagłówek jest wymagany tylko w przypadku metod aktualizowania zasobów encji po uzyskaniu zgody 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 o tym identyfikatorze. Powinien być ustawiony bez myślników (-). Więcej informacji o połączonych kontach