Biblioteka klienta interfejsu Google Ads API ma kilka ustawień konfiguracji, których możesz używać do dostosowywania działania biblioteki.
Skonfiguruj bibliotekę w czasie działania
Zalecanym sposobem skonfigurowania 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 do Nuget do pakietu projektu Google.Ads.GoogleAds.Extensions
.
Jeśli używasz jednej z tych opcji, ustawienia konfiguracji nie są pobierane automatycznie, więc musisz je jawnie wczytać, jak pokazano poniżej.
Skonfiguruj przy użyciu App.config
Wszystkie ustawienia dotyczące elementu Google Ads API
są przechowywane w węźle GoogleAdsApi
pliku App.config
. Typowa konfiguracja: App.config
<?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
na obiekcie GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Określ oddzielny plik App.config
Jeśli nie chcesz zaśmiecać witryny App.config
, możesz przenieść konfigurację konkretnej biblioteki do osobnego pliku konfiguracji, używając właściwości configSource
.
Krok 1. Określ plik configSource w pliku app.config
Zmień 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 nowy plik konfiguracyjny 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 uwzględnij w projekcie nowy plik konfiguracji. Zmień właściwości tego pliku na Zawsze kopiuj do folderu wyjściowego.
Teraz skompiluj i uruchom projekt. Twoja aplikacja zacznie odbierać wartości z nowego pliku konfiguracji.
Konfiguracja z użyciem 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 taką samą strukturę jak plik 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 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
Proces ten jest podobny do użycia 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();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Konfiguracja przy użyciu zmiennych środowiskowych
Inicjację 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 znajdziesz listę ustawień obsługiwanych przez bibliotekę .NET Google Ads.
Ustawienia łączności
Timeout
: użyj tego klucza, aby ustawić czas oczekiwania na usługę w milisekundach. Wartość domyślna jest określana na podstawie ustawieniamethod_config/timeout
w pliku googleads_grpc_service_config.json. Ustaw niższą wartość, jeśli chcesz egzekwować 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łądDEADLINE_EXCEEDED
.ProxyServer
: jeśli używasz serwera proxy do nawiązywania połączenia z internetem, ustaw go na adres URL serwera proxy HTTP.ProxyUser
: w tym polu wpisz nazwę użytkownika potrzebną do uwierzytelnienia na serwerze proxy. Pozostaw to pole puste, jeśli nazwa użytkownika nie jest wymagana.ProxyPassword
: ustaw hasło użytkownikaProxyUser
, jeśli ustawisz wartośćProxyUser
.ProxyDomain
: ustaw wartość domeny naProxyUser
, jeśli serwer proxy wymaga takiego ustawienia.MaxReceiveMessageLengthInBytes
: za pomocą tego ustawienia możesz zwiększyć maksymalny rozmiar odpowiedzi interfejsu API, który może obsłużyć biblioteka klienta. Wartość domyślna to 64 MB.MaxMetadataSizeInBytes
: za pomocą tego ustawienia możesz zwiększyć maksymalny rozmiar odpowiedzi interfejsu API błędów, które może obsłużyć biblioteka klienta. Wartość domyślna to 16 MB.
Dostosuj ustawienia
MaxReceiveMessageLengthInBytes
iMaxMetadataSizeInBytes
, aby naprawić określone błędyResourceExhausted
. Te ustawienia dotyczą błędów 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ż rozmiar, który może obsłużyć biblioteka (67108864 bytes
). Aby uniknąć tego błędu, zwiększ poleMaxReceiveMessageLengthInBytes
do500000000
.Uwaga: ten błąd wskazuje też, że Twój kod obsługiwał bardzo duży obiekt Response (np. duży
SearchGoogleAdsResponse
). Może to mieć wpływ na wydajność kodu z powodu dużego obiektu .NET. Jeśli stanie się to obawą o wydajność, być może trzeba będzie zmienić sposób organizacji wywołań interfejsu API lub interfejsu aplikacji.
Ustawienia OAuth2
Jeśli używasz protokołu OAuth2 do autoryzowania połączeń z serwerami interfejsu Google Ads API, musisz ustawić te klucze konfiguracji:
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
: 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ć wymienione poniżej dodatkowe klucze konfiguracji.
OAuth2RefreshToken
: ustaw tę wartość na wstępnie wygenerowany token tokena OAuth2, jeśli chcesz używać tokenów OAuth2 ponownie. To ustawienie jest opcjonalne.OAuth2RedirectUri
: ustaw tę wartość na 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 odgrywasz.OAuth2SecretsJsonPath
: ustaw tę wartość na ścieżkę pliku JSON konfiguracji OAuth2.
Więcej informacji znajdziesz w przewodniku po koncie usługi OAuth.
Ustawienia transportu
UseGrpcCore
: ustaw to ustawienie natrue
, aby użyć bibliotekiGrpc.Core
jako bazowej warstwy transportu. Więcej informacji znajdziesz w przewodniku pomocy gRPC.
Ustawienia interfejsu Google Ads API
Podane niżej ustawienia odnoszą się do interfejsu Google Ads API.
DeveloperToken
: ustaw ten token programisty.LoginCustomerId
: jest to identyfikator klienta autoryzowanego klienta, którego można użyć w żądaniu bez łączników (-
).LinkedCustomerId
: ten nagłówek jest wymagany tylko w przypadku metod aktualizowania zasobów encji 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 określonego identyfikatora klienta. Powinien on być ustawiony bez łączników (-
). Więcej informacji o połączonych kontach