Z tego przewodnika dowiesz się, jak uzyskać dostęp do interfejsu Google Ads API za pomocą kont usług.
Konto usługi to konto należące do Twojej aplikacji, a nie do konkretnego użytkownika. Konta usług korzystają z przepływu 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 Google Ads API na kontach Google Ads jest wykonywana jako krok konfiguracji, z wykorzystaniem funkcji autoryzacji i zarządzania kontami dostępnych w interfejsie Google Ads. Dzięki temu deweloperzy nie muszą tworzyć procesów OAuth 2.0 ani radzić sobie ze złożonymi problemami związanymi z interakcją z użytkownikiem, przechowywaniem danych logowania użytkownika itp.
Autoryzacja dostępu do kont Google Ads nie jest powiązana z danymi logowania poszczególnych użytkowników, co może być przydatne w przypadkach, gdy autoryzacja ma być kontynuowana nawet wtedy, gdy pracownik, który pierwotnie autoryzował dostęp, opuści zespół lub firmę.
Konfigurowanie dostępu do konta
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.
Zaloguj się na konto Google Ads jako administrator. Otwórz Administracja > Dostęp i bezpieczeństwo.
Kliknij przycisk + na karcie Użytkownicy.

Wpisz adres e-mail konta usługi w polu E-mail. Wybierz odpowiedni poziom dostępu do konta i kliknij przycisk Dodaj konto.

Konto usługi ma dostęp.

[Opcjonalnie] Domyślnie nie możesz przyznać dostępu administratora do konta usługi. Jeśli wywołania interfejsu API wymagają dostępu administratora, możesz go uzyskać w ten sposób.
- Kliknij strzałkę w dół obok poziomu dostępu konta usługi w kolumnie Poziom dostępu.
- Z listy wybierz Administrator.
Konfiguracja biblioteki klienta
Aby uzyskać instrukcje konfigurowania biblioteki klienta, kliknij kartę odpowiadającą Twojemu językowi programowania.
Java
Ustaw ścieżkę JSON klucza prywatnego w konfiguracji. Jeśli używasz pliku ads.properties, dodaj te informacje:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
Więcej informacji znajdziesz w przewodniku po konfiguracji.
.NET
Ustaw OAuth2Mode i OAuth2SecretsJsonPath w instancji GoogleAdsConfig i użyj jej do zainicjowania obiektu GoogleAdsClient.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Więcej informacji znajdziesz w przewodniku po konfiguracji.
Python
Ustaw ścieżkę JSON klucza prywatnego w konfiguracji. Jeśli używasz ciągu YAML lub dict, dodaj te informacje:google-ads.yaml file
json_key_file_path: JSON_KEY_FILE_PATH
Jeśli używasz zmiennych środowiskowych, dodaj te informacje do konfiguracji lub środowiska Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
PHP
Skonfiguruj te klucze w pliku 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
Ustaw ścieżkę JSON klucza prywatnego i identyfikator konta delegowanego w konfiguracji.
Jeśli używasz pliku googleads.properties, dodaj te informacje:
jsonKeyFilePath=JSON_KEY_FILE_PATH
Jeśli używasz zmiennych środowiskowych, dodaj te informacje do konfiguracji lub środowiska Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
curl
Zacznij od ustawienia konta usługi jako aktywnych danych logowania w interfejsie wiersza poleceń gcloud.
gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSONNastępnie pobierz token dostępu OAuth 2.0 dla interfejsu Google Ads API.
gcloud auth \
print-access-token \
--scopes='https://www.googleapis.com/auth/adwords'Teraz możesz używać tokena dostępu w wywołaniach interfejsu API. Poniższy przykład
pokazuje, jak uruchomić raport kampanii za pomocą metody
GoogleAdsService.SearchStream, aby pobrać
kampanie na koncie. Ten przewodnik nie zawiera szczegółowych informacji o
raportowaniu.
curl -i -X POST https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"Zawartość pliku query.json jest taka:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}