Konta usługi

Z tego przewodnika dowiesz się, jak uzyskać dostęp do interfejsu Google Ads API za pomocą kont usług.

Konto usługi to konto, które należy do Twojej aplikacji, a nie do użytkownika. Konta usługi umożliwiają interakcję między serwerami, na przykład między aplikacją internetową a usługą Google. Aplikacja wywołuje interfejsy API Google w imieniu konta usługi, więc użytkownicy nie są w to bezpośrednio zaangażowani.

Konta usług korzystają z procesu OAuth 2.0, który nie wymaga autoryzacji przez człowieka, ale używa pliku klucza, z którego może korzystać tylko Twoja aplikacja.

Korzystanie z kont usług ma 2 główne zalety:

  • Autoryzacja dostępu do interfejsu API Google jest wykonywana jako krok konfiguracji, co pozwala uniknąć komplikacji związanych z innymi przepływami OAuth 2.0, które wymagają interakcji użytkownika.

  • Przepływ asercji OAuth 2.0 umożliwia aplikacji podszywanie się pod innych użytkowników, jeśli jest to konieczne.

Istnieją 2 sposoby autoryzacji za pomocą kont usługi: bezpośredni i z przyjmowaniem tożsamości (niezalecany).

[Zalecane] Autoryzacja z bezpośrednim dostępem do konta

W przypadku tej opcji przyznajesz kontu usługi bezpośredni dostęp do konta Google Ads.

Konfigurowanie dostępu do konta

  1. Zacznij od utworzenia konta usługi i danych logowania.

    Pobierz klucz konta usługi w formacie JSON i zanotuj identyfikator oraz adres e-mail konta usługi.

  2. Zaloguj się na konto Google Ads jako administrator. Kliknij Administracja > Dostęp i bezpieczeństwo.

  3. Na karcie Użytkownicy kliknij przycisk +.

  4. Wpisz adres e-mail konta usługi w polu E-mail. Wybierz odpowiedni poziom dostępu do konta i kliknij przycisk Dodaj konto. Pamiętaj, że poziomy dostępu „E-mail” i „Administracyjny” nie są obsługiwane w przypadku kont usług.

  5. Konto usługi otrzymuje dostęp.

Konfiguracja biblioteki klienta

Aby uzyskać instrukcje konfigurowania biblioteki klienta, wybierz kartę odpowiadającą Twojemu językowi programowania.

Java

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego. Jeśli używasz pliku ads.properties, dodaj te elementy:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

Więcej informacji znajdziesz w przewodniku po konfiguracji.

.NET

Skonfiguruj te klucze w App.config / Web.config. Więcej informacji znajdziesz w przewodniku po konfiguracji.

<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />

Python

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego. Jeśli używasz google-ads.yaml file, ciągu YAML lub dict, dodaj te elementy:

json_key_file_path: JSON_KEY_FILE_PATH

Jeśli używasz zmiennych środowiskowych, dodaj do konfiguracji lub środowiska Bash następujące elementy:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

PHP

Skonfiguruj te klucze w google_ads_php.ini. Więcej informacji znajdziesz w przewodniku po konfiguracji.

; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Ruby

Skonfiguruj te klucze w pliku google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

Perl

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego i identyfikator konta delegowanego. Jeśli używasz pliku googleads.properties, dodaj następujące elementy:

jsonKeyFilePath=JSON_KEY_FILE_PATH

Jeśli używasz zmiennych środowiskowych, dodaj do konfiguracji lub środowiska Bash następujące elementy:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

[Nie zalecane] Autoryzacja z przyjmowaniem tożsamości

W tej opcji przyjmujesz tożsamość użytkownika, który ma dostęp do Twojego konta Google Ads, za pomocą konta usługi. Ta metoda jest przeznaczona tylko dla klientów korzystających z Google Workspace. Konto usługi może podszywać się pod użytkowników (adresy e-mail) tylko w ramach tego samego Google Workspace.

Wymagania wstępne

Konfigurowanie dostępu do konta usługi

Ponieważ podszywanie się pod użytkownika jest kontrolowane tylko na poziomie domeny, korzystanie z kont usługi i przepływu asercji z Google OAuth 2.0 wymaga zarejestrowania własnej domeny w Google Workspace. Aplikacja i jej użytkownicy mogą wtedy podszywać się pod dowolnego użytkownika w domenie.

  1. Zacznij od utworzenia konta usługi i danych logowania.

    Pobierz klucz konta usługi w formacie JSON i zanotuj identyfikator konta usługi.

  2. Udostępnij administratorowi domeny identyfikator konta usługi i zakres interfejsu Google Ads API (https://www.googleapis.com/auth/adwords).

    Poproś administratora domeny o przekazanie kontu usługi uprawnień do całej domeny.

  3. Jeśli jesteś administratorem domeny, wykonaj instrukcje w Centrum pomocy.

Możesz teraz używać konta usługi do uzyskiwania dostępu do konta Google Ads za pomocą przepływu potwierdzenia OAuth 2.0.

Konfiguracja biblioteki klienta

Aby uzyskać instrukcje konfigurowania biblioteki klienta, wybierz kartę odpowiadającą Twojemu językowi programowania.

Java

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego i identyfikator konta delegowanego. Jeśli używasz pliku ads.properties, dodaj te informacje:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.serviceAccountUser=IMPERSONATED_EMAIL

Więcej informacji znajdziesz w przewodniku po konfiguracji.

.NET

Skonfiguruj te klucze w App.config / Web.config. Więcej informacji znajdziesz w przewodniku po konfiguracji.

<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="JSON_KEY_FILE_PATH" />

<!-- Supply the email address of the user to impersonate. -->
<add key="OAuth2PrnEmail" value="IMPERSONATED_EMAIL" />

Python

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego i adres e-mail konta, którego tożsamość ma być używana. Jeśli używasz google-ads.yaml file, ciągu YAML lub dict, dodaj następujące elementy:

json_key_file_path: JSON_KEY_FILE_PATH
impersonated_email: IMPERSONATED_EMAIL

Jeśli używasz zmiennych środowiskowych, dodaj do konfiguracji lub środowiska Bash następujące elementy:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL

PHP

Skonfiguruj te klucze w google_ads_php.ini. Więcej informacji znajdziesz w przewodniku po konfiguracji.

; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
impersonatedEmail = "IMPERSONATED_EMAIL"

Ruby

Skonfiguruj te klucze w pliku google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'
c.impersonate = 'IMPERSONATED_EMAIL'

Perl

W konfiguracji ustaw ścieżkę do pliku JSON klucza prywatnego i identyfikator konta delegowanego. Jeśli używasz pliku googleads.properties, dodaj następujące elementy:

jsonKeyFilePath=JSON_KEY_FILE_PATH
impersonatedEmail=IMPERSONATED_EMAIL

Jeśli używasz zmiennych środowiskowych, dodaj do konfiguracji lub środowiska Bash następujące elementy:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
export GOOGLE_ADS_IMPERSONATED_EMAIL=IMPERSONATED_EMAIL

Potencjalne problemy z bezpieczeństwem

Konto usługi ma kontrolę delegowania na poziomie domeny w przypadku domeny Google Workspace, dlatego ważne jest, aby chronić plik klucza, który umożliwia kontu usługi dostęp do usług Google, do których ma uprawnienia. Jest to szczególnie ważne, ponieważ to konto usługi może podszywać się pod dowolnego użytkownika w domenie.

Inną dobrą praktyką jest przyznawanie kontom usługi dostępu tylko do minimalnego wymaganego zestawu interfejsów API. Jest to środek zapobiegawczy, który ma na celu ograniczenie ilości danych, do których może uzyskać dostęp osoba przeprowadzająca atak, jeśli plik klucza konta usługi zostanie przejęty.