Autoryzacja i nagłówki HTTP

Podczas wywoływania interfejsu Google Ads API musisz mieć zarówno dane uwierzytelniające OAuth 2.0, jak i token programisty. Jeśli wywołujesz interfejs API za pomocą konta menedżera Google Ads, musisz też podać nagłówek login-customer-id w każdym żądaniu. 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 uwierzytelniające OAuth 2.0

Interfejs Google Ads API używa protokołu OAuth 2.0 do autoryzowania żądań interfejsu API. Obsługiwane są zarówno proces uwierzytelniania użytkownika OAuth 2.0 , jak i proces konta usługi . 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 uwierzytelniające 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 czynności opisane w sekcji dotyczącej konfigurowania projektu 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 czynności opisane w sekcji dotyczącej konfigurowania projektu 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 procesu aplikacji na komputer lub instrukcjami dotyczącymi procesu 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 deklaracji JWT, który można następnie wymienić na token dostępu OAuth 2.0. Podczas korzystania z przewodnika wybierz kartę HTTP/REST. Zakres OAuth 2.0 scope używany do uzyskiwania dostępu do interfejsu Google Ads API to https://www.googleapis.com/auth/adwords. Podczas tworzenia zestawu deklaracji 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ę podszywania się pod użytkownika Google Ads.

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

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Nagłówki żądania

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

Token programisty

Interfejs Google Ads API wymaga też tokena programisty do wykonywania wywołań interfejsu API. Jeśli masz już token programisty, możesz go znaleźć, otwierając stronę https://ads.google.com/aw/apicenter. Jeśli pojawi się prośba, zaloguj się na konto menedżera Google Ads. Jeśli nie masz tokena, postępuj zgodnie z instrukcjami, aby zarejestrować się i uzyskać token programisty.

Wartość tokena programisty musisz umieścić w nagłówku HTTP developer-token każdego wywołania interfejsu Google Ads API:

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Identyfikator klienta logowania

W przypadku wywołań interfejsu Google Ads API wykonywanych przez menedżera na koncie klienta (czyli gdy menedżer loguje się, aby wywoływać interfejs 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.

Dodanie 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 /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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
developer-token: DEVELOPER_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 dla programistów Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC