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 ustawieniamethod_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łądDEADLINE_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łoProxyUser
zaProxyUser
.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
iMaxMetadataSizeInBytes
naprawianie określonychResourceExhausted
błędów. Te ustawienia dotyczą ma formatStatus(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ększMaxReceiveMessageLengthInBytes
do500000000
, 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
lubSERVICE_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
UseGrpcCore
: ustaw to ustawienie natrue
, aby używać bibliotekiGrpc.Core
jako w warstwie transportowej. Zapoznaj się z informacjami na temat pomocy gRPC .
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óbAccountLink
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.