Biblioteka klienta interfejsu Google Ads API udostępnia kilka ustawień konfiguracji, za pomocą których możesz dostosować działanie biblioteki.
Konfigurowanie biblioteki w czasie wykonywania
Najlepszym sposobem konfiguracji biblioteki klienta jest zainicjowanie obiektu GoogleAdsConfig
w czasie wykonywania:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.APPLICATION,
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Opcje konfiguracji
Udostępniamy też dodatkowe opcje konfigurowania biblioteki klienta: aby je włączyć, dodaj odwołanie do pakietu Google.Ads.GoogleAds.Extensions
w Nuget w projekcie.
Jeśli używasz jednej z tych opcji, ustawienia konfiguracji nie są pobierane automatycznie: musisz je wczytać w sposób jawny, jak pokazano poniżej.
Konfigurowanie za pomocą pliku App.config
Wszystkie ustawienia dotyczące 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>
Aby załadować ustawienia konfiguracji z pliku App.config
, wywołaj metodę LoadFromDefaultAppConfigSection
obiektu GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Określanie osobnego pliku App.config
Jeśli nie chcesz zaśmiecać pliku App.config
, możesz przenieść konfigurację biblioteki do własnego pliku konfiguracyjnego za pomocą właściwości configSource
.
Krok 1. W pliku App.config określ źródło konfiguracji
Zmień App.config
tak, 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 konfiguracji
Utwórz teraz kolejny plik konfiguracji o nazwie określonej w configSource
i przenieś do niego węzeł konfiguracji z App.config
:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
Krok 3. Popraw reguły kompilacji w pliku csproj
Na koniec dodaj nowy plik konfiguracji do projektu. 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 za pomocą niestandardowego pliku JSON
Aby skonfigurować bibliotekę 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": "******",
}
Załaduj 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 za pomocą pliku settings.json
Proces jest podobny do korzystania z niestandardowego pliku 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ć zmiennej IConfiguration
na stronie:
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Konfiguracja za pomocą zmiennych środowiskowych
Możesz też zainicjować GoogleAdsClient
za pomocą zmiennych środowiskowych:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Zobacz pełną listę obsługiwanych zmiennych środowiska.
Pola konfiguracji
Poniżej znajdziesz listę ustawień obsługiwanych przez bibliotekę Google Ads w języku C#.
Ustawienia łączności
Timeout
: za pomocą tego klucza możesz ustawić limit czasu usługi w milisekundach. Wartość domyślna jest ustawiana na podstawie ustawieniamethod_config/timeout
w pliku googleads_grpc_service_config.json. Jeśli chcesz narzucić krótszy limit czasu wywołania interfejsu API, ustaw niższą wartość. Czas oczekiwania możesz ustawić na co najmniej 2 godziny, ale interfejs API może nadal przerywać bardzo długie żądania i zwracać błądDEADLINE_EXCEEDED
.ProxyServer
: jeśli do łączenia się z internetem używasz serwera proxy, podaj adres URL serwera proxy HTTP.ProxyUser
: ustaw nazwę użytkownika wymaganą do uwierzytelniania na serwerze proxy. Pozostaw to pole puste, jeśli nazwa użytkownika nie jest wymagana.ProxyPassword
: jeśli ustawisz wartość dlaProxyUser
, wpisz tutaj hasło doProxyUser
.ProxyDomain
: ustaw tę wartość na domenę dlaProxyUser
, jeśli Twój serwer proxy wymaga ustawienia domeny.MaxReceiveMessageLengthInBytes
: to ustawienie pozwala zwiększyć maksymalny rozmiar odpowiedzi interfejsu API, z którym może sobie poradzić biblioteka klienta. Wartością domyślną jest 64 MB.MaxMetadataSizeInBytes
: użyj tego ustawienia, aby zwiększyć maksymalny rozmiar odpowiedzi z błędem interfejsu API, którą może obsłużyć biblioteka klienta. Wartością domyślną jest 16 MB.
Dostosuj ustawienia
MaxReceiveMessageLengthInBytes
iMaxMetadataSizeInBytes
, aby naprawić niektóre błędyResourceExhausted
. Te ustawienia dotyczą błędów o formieStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
.W tym przykładzie błąd występuje, ponieważ rozmiar wiadomości (
423184132 bytes
) jest większy niż to, co może obsłużyć biblioteka (67108864 bytes
). Aby uniknąć tego błędu, zwiększ wartość parametruMaxReceiveMessageLengthInBytes
do500000000
.Pamiętaj, że błąd wskazuje też, że Twój kod obsługiwał bardzo duży obiekt Response (np. duży obiekt
SearchGoogleAdsResponse
). Może to mieć wpływ na wydajność kodu z powodu dużej puli obiektów w .NET. Jeśli to spowoduje problemy z wydajnością, być może trzeba będzie zmienić kolejność wywołań interfejsu API lub zmienić projekt części aplikacji.
Ustawienia OAuth2
Jeśli do autoryzowania wywołań na serwerach interfejsu Google Ads API używasz OAuth 2, musisz ustawić te klucze konfiguracji:
AuthorizationMethod
: ustaw naOAuth2
.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ć tokeny OAuth2 w przypadku wielu interfejsów API, ustaw tę wartość na różne zakresy. To ustawienie jest opcjonalne.
Jeśli używasz OAuth2Mode == APPLICATION
, musisz ustawić te dodatkowe klucze konfiguracji.
OAuth2RefreshToken
: jeśli chcesz ponownie użyć tokenów OAuth2, ustaw to pole na wcześniej wygenerowany token odświeżania OAuth2. To ustawienie jest opcjonalne.OAuth2RedirectUri
: ustaw to ustawienie na adres URL przekierowania OAuth 2. To ustawienie jest opcjonalne.
Więcej informacji znajdziesz w tych przewodnikach:
- Proces uwierzytelniania aplikacji na komputery za pomocą OAuth
- Proces autoryzacji aplikacji internetowej OAuth
Jeśli używasz OAuth2Mode == SERVICE_ACCOUNT
, musisz ustawić te dodatkowe klucze konfiguracji.
OAuth2PrnEmail
: ustaw tę wartość na adres e-mail konta, którego chcesz udawać.OAuth2SecretsJsonPath
: ustaw tę wartość na ścieżkę do pliku konfiguracji JSON OAuth2.
Więcej informacji znajdziesz w instrukcji dotyczącej tworzenia konta usługi OAuth.
Ustawienia transportu
UseGrpcCore
: ustaw to ustawienie natrue
, aby używać bibliotekiGrpc.Core
jako podstawowej warstwy transportowej. Zobacz Używanie starszej biblioteki Grpc.
Ustawienia interfejsu Google Ads API
Ustawienia podane poniżej są specyficzne dla interfejsu Google Ads API.
DeveloperToken
: ustaw tutaj swój token programisty.LoginCustomerId
: to identyfikator klienta autoryzowanego do korzystania z prośby, bez łączników (-
).LinkedCustomerId
: ten nagłówek jest wymagany tylko w przypadku metod, które aktualizują zasoby danego elementu, gdy zostały one zaakceptowane 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. Nie należy używać łączników (-
). Więcej informacji o połączonych kontach