Biblioteka klienta interfejsu Google Ads API udostępnia kilka ustawień konfiguracji, za pomocą których możesz dostosowywać działanie biblioteki.
Konfigurowanie biblioteki w czasie działania
Preferowanym sposobem konfigurowania biblioteki klienta jest zainicjowanie obiektu GoogleAdsConfig
w czasie działania:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = "APPLICATION",
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Alternatywne opcje konfiguracji
Udostępniamy też dodatkowe opcje konfigurowania biblioteki klienta: aby je włączyć, dodaj odwołanie Nuget do pakietu Google.Ads.GoogleAds.Extensions
w projekcie.
Jeśli używasz jednej z tych opcji, ustawienia konfiguracji nie są pobierane automatycznie, musisz je wczytać bezpośrednio w sposób pokazany poniżej.
Skonfiguruj za pomocą pliku App.config
Wszystkie ustawienia specyficzne dla Google Ads API
są przechowywane w węźle GoogleAdsApi
pliku App.config
. Typowa konfiguracja App.config
to:
<?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 metodę LoadFromDefaultAppConfigSection
w obiekcie GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Określ oddzielny plik App.config
Jeśli nie chcesz, aby element App.config
był zaśmiecony, możesz przenieść konfigurację związaną z biblioteką do jej osobnego pliku, używając właściwości configSource
.
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 pliku 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. 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
.
Utwórz plik JSON
Utwórz plik JSON o nazwie GoogleAdsApi.json
, który ma strukturę podobną 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 załaduj plik JSON do 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 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ć na swojej stronie wystąpienia IConfiguration
:
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Konfiguracja z wykorzystaniem zmiennych środowiskowych
GoogleAdsClient
możesz też zainicjować za pomocą zmiennych środowiskowych:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Zobacz pełną listę obsługiwanych zmiennych środowiskowych.
Pola konfiguracji
Poniżej znajduje się lista ustawień obsługiwanych przez bibliotekę .NET Google Ads.
Ustawienia łączności
Timeout
: użyj tego klucza do ustawienia czasu oczekiwania usługi w milisekundach. Wartość domyślna jest określana na podstawie ustawieniamethod_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 przekraczać limit czasu trwających żądań i zwrócić błądDEADLINE_EXCEEDED
.ProxyServer
: wpisz adres URL serwera proxy HTTP, jeśli do łączenia się z internetem używasz serwera proxy.ProxyUser
: wpisz tutaj nazwę użytkownika, która jest wymagana do uwierzytelniania na serwerze proxy. Pozostaw to pole puste, jeśli nazwa użytkownika nie jest wymagana.ProxyPassword
: jeśli ustawisz wartośćProxyUser
, wpisz hasłoProxyUser
.ProxyDomain
: podaj w tym polu domenęProxyUser
, jeśli serwer proxy wymaga jej skonfigurowania.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 na błąd interfejsu API, którą może obsłużyć biblioteka klienta. Wartość domyślna to 16 MB.
Dostosuj ustawienia
MaxReceiveMessageLengthInBytes
iMaxMetadataSizeInBytes
, aby naprawić błędyResourceExhausted
. Te ustawienia dotyczą błędów występujących w formularzuStatus(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że obsłużyć biblioteka (67108864 bytes
). Aby uniknąć tego błędu, zwiększ wartośćMaxReceiveMessageLengthInBytes
do500000000
.Ten błąd oznacza też, że Twój kod obsługiwał bardzo duży obiekt odpowiedzi (np. duży obiekt
SearchGoogleAdsResponse
). Może to mieć wpływ na wydajność kodu z powodu dużej sterty obiektów w .NET. Jeśli staje się to problemem z wydajnością, być może trzeba będzie zastanowić się, jak zreorganizować wywołania interfejsu API lub przeprojektować części aplikacji.
Ustawienia OAuth2
Jeśli używasz protokołu OAuth2 do autoryzowania wywołań serwerów interfejsu Google Ads API, ustaw te klucze konfiguracyjne:
AuthorizationMethod
: ustaw wartośćOAuth2
.OAuth2Mode
: ustawAPPLICATION
lubSERVICE_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ć poniższe dodatkowe klucze konfiguracyjne.
OAuth2RefreshToken
: ustaw tę wartość na wstępnie wygenerowany token odświeżania OAuth2, jeśli chcesz ponownie użyć tokenów 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ć te dodatkowe klucze konfiguracyjne.
OAuth2PrnEmail
: wpisz tę wartość na adres e-mail konta, którego używasz.OAuth2SecretsJsonPath
: ustaw tę wartość na ścieżkę pliku konfiguracji JSON OAuth2.
Więcej informacji znajdziesz w przewodniku po procesie tworzenia konta usługi OAuth.
Ustawienia transportu
UseGrpcCore
: ustaw to ustawienie natrue
, aby używać bibliotekiGrpc.Core
jako bazowej warstwy transportu. Więcej informacji znajdziesz w przewodniku po obsłudze gRPC.
Ustawienia interfejsu Google Ads API
Poniższe ustawienia są specyficzne dla interfejsu Google Ads API.
DeveloperToken
: ustaw tę wartość jako swój token programisty.LoginCustomerId
: identyfikator klienta upoważnionego do użycia w żądaniu (bez myślników –-
).LinkedCustomerId
: ten nagłówek jest wymagany tylko w przypadku metod, które aktualizują zasoby elementu po uzyskaniu uprawnień przez Połączone konta w interfejsie Google Ads (zasóbAccountLink
w interfejsie Google Ads API). Ustaw tę wartość na identyfikator klienta dostawcy danych, który aktualizuje zasoby o określonym identyfikatorze klienta. Należy go ustawić bez myślników (-
). Więcej informacji o połączonych kontach