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 ustawieniamethod_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łądDEADLINE_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ść dlaProxyUser
.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
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ć 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.
Ustawienia interfejsu Google Ads API
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 informacjiLinkedCustomerId
: 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óbAccountLink
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.