Autoryzacja i nagłówki HTTP

Podczas wywoływania interfejsu Google Ads API musisz podać dane logowania OAuth 2.0. Jeśli wywołujesz interfejs API za pomocą konta menedżera Google Ads, musisz też do każdego żądania dołączyć nagłówek login-customer-id. Na tej stronie opisujemy, jak ustawić te wartości, oraz dokumentujemy kilka dodatkowych nagłówków HTTP specyficznych dla interfejsu API, które są wysyłane i odbierane podczas korzystania z interfejsu REST.

Dane logowania OAuth 2.0

Interfejs Google Ads API używa protokołu OAuth 2.0 do autoryzowania żądań do interfejsu API. Obsługiwany jest zarówno proces uwierzytelniania użytkownika OAuth 2.0 user authentication flow, jak i proces konta usługi service account flow. Więcej informacji znajdziesz w artykule OAuth 2.0 w interfejsie Google Ads API.

Jeśli dopiero zaczynasz korzystać z interfejsów API Google, możesz użyć gcloud CLI lub OAuth 2.0 Playground, aby przetestować dane logowania OAuth 2.0 i interfejs Google Ads API, zanim napiszesz kod aplikacji.

Do implementowania procesów autoryzacji OAuth 2.0 zalecamy używanie jednej z bibliotek OAuth 2.0 dostępnych na stronie https://oauth.net/code/. Jeśli jednak musisz zaimplementować je samodzielnie, podajemy instrukcje dotyczące curl.

Konta usługi

Wykonaj te czynności, aby skonfigurować projekt Google Cloud na potrzeby interfejsu Google Ads API. Zapisz adres e-mail konta usługi i klucz konta usługi. Następnie postępuj zgodnie z ogólnymi instrukcjami w przewodniku po kontach usługi, aby skonfigurować konto usługi na potrzeby dostępu do konta Google Ads.

Uwierzytelnianie użytkowników

Wykonaj te czynności, aby skonfigurować projekt w konsoli Google Cloud na potrzeby interfejsu Google Ads API. Zapisz identyfikator klienta i tajny klucz klienta. Następnie postępuj zgodnie z instrukcjami dotyczącymi aplikacji komputerowej lub aplikacji internetowej, aby wygenerować token odświeżania i token dostępu. scope używany do uzyskiwania dostępu do interfejsu Google Ads API to https://www.googleapis.com/auth/adwords.

Generowanie nowych tokenów dostępu

Konta usługi

Gdy masz adres e-mail konta usługi i klucz konta usługi, postępuj zgodnie z instrukcjami w przewodniku Używanie protokołu OAuth 2.0 w aplikacjach typu serwer-serwer , aby wygenerować zestaw twierdzeń JWT, który można następnie wymienić na token dostępu OAuth 2.0. Podczas wykonywania instrukcji wybierz kartę HTTP/REST. scope OAuth 2.0 używany do uzyskiwania dostępu do interfejsu Google Ads API to https://www.googleapis.com/auth/adwords. Podczas tworzenia zestawu twierdzeń JWT możesz też pominąć parametr sub, ponieważ kroki konfiguracji przyznają kontu usługi bezpośredni dostęp do konta Google Ads, co eliminuje potrzebę przyjmowania tożsamości użytkownika Google Ads.

Następnie użyj tokena dostępu w nagłówku HTTP Authorization każdego wywołania interfejsu API do interfejsu Google Ads API:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Uwierzytelnianie użytkowników

Gdy masz identyfikator klienta, tajny klucz klienta i token odświeżania OAuth 2.0, możesz wygenerować nowy token dostępu do użycia w wywołaniach interfejsu API za pomocą curl narzędzia wiersza poleceń:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

Następnie użyj tokena dostępu zwróconego przez żądanie curl w nagłówku HTTP Authorization każdego wywołania interfejsu API do interfejsu Google Ads API:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Nagłówki żądania

W kolejnych sekcjach opisujemy nagłówki HTTP wymagane lub używane podczas wysyłania żądań do interfejsu Google Ads API.

Identyfikator klienta logowania

W przypadku wywołań interfejsu Google Ads API wykonywanych przez menedżera na koncie klienta (czyli podczas logowania się jako menedżer w celu wywołania interfejsu API na jednym z kont klientów) musisz też podać nagłówek HTTP login-customer-id. Ta wartość reprezentuje identyfikator klienta Google Ads menedżera, który wywołuje interfejs API.

Dołączenie tego nagłówka jest równoznaczne z wybraniem konta w interfejsie Google Ads po zalogowaniu się lub kliknięciu zdjęcia profilowego w prawym górnym rogu strony. Podczas określania identyfikatora klienta usuń wszystkie łączniki (—). Na przykład: 1234567890, a nie 123-456-7890. Więcej informacji o identyfikatorze klienta logowania znajdziesz w przewodniku po modelu dostępu do Google Ads.

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

Połączony identyfikator klienta

Nagłówek Połączony identyfikator klienta jest używany przez partnerów (np. dostawców usług analitycznych aplikacji innych firm lub partnerów danych) podczas działania na połączonym koncie Google Ads. Więcej informacji znajdziesz w przewodniku po strukturze wywołania interfejsu API.

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

Nagłówki odpowiedzi

Te nagłówki są zwracane w odpowiedziach HTTP z interfejsu API.

Identyfikator żądania

request-id to ciąg znaków, który jednoznacznie identyfikuje żądanie do interfejsu API. Podczas debugowania lub rozwiązywania problemów z konkretnymi wywołaniami interfejsu API request-id jest ważnym identyfikatorem, który warto mieć pod ręką, gdy kontaktujesz się z zespołem pomocy Google Developers.

request-id: 2a5Cj89VV7CNhya1DZjjrC