Autoryzacja i nagłówki HTTP

Podczas wywoływania interfejsu Google Ads API potrzebne są dane logowania OAuth 2.0. Jeśli wykonujesz wywołania interfejsu API za pomocą konta menedżera Google Ads, musisz też podać w każdym żądaniu 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ń API. Obsługiwane są zarówno przepływ uwierzytelniania użytkownika OAuth 2.0, jak i przepływ 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ć interfejsu wiersza poleceń gcloud lub OAuth 2.0 Playground, aby eksperymentować z danymi logowania OAuth 2.0 i interfejsem Google Ads API, zanim napiszesz kod aplikacji.

Do implementacji procesów autoryzacji OAuth 2.0 zalecamy użycie jednej z bibliotek OAuth 2.0 dostępnych na stronie https://oauth.net/code/. Podaliśmy jednak instrukcje dotyczące polecenia curl, jeśli chcesz samodzielnie zaimplementować tę funkcję.

Konta usługi

Wykonaj 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 Konta usługi, aby skonfigurować konto usługi na potrzeby dostępu do konta Google Ads.

Uwierzytelnianie użytkowników

Postępuj zgodnie z instrukcjami, 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 na komputery lub instrukcjami dotyczącymi aplikacji internetowych, aby wygenerować token odświeżania i token dostępu. scope, którego należy użyć do uzyskania dostępu do interfejsu Google Ads API, to https://www.googleapis.com/auth/adwords.

Generowanie nowych tokenów dostępu

Konta usługi

Gdy będziesz mieć adres e-mail konta usługi i klucz konta usługi, postępuj zgodnie z przewodnikiem Używanie protokołu OAuth 2.0 w aplikacjach międzyserwerowych, aby wygenerować zestaw roszczeń JWT, który można następnie wymienić na token dostępu OAuth 2.0. Podczas korzystania z przewodnika wybierz kartę HTTP/REST. Protokół OAuth 2.0 scope, którego należy użyć do uzyskania dostępu do interfejsu Google Ads API, to https://www.googleapis.com/auth/adwords. Podczas tworzenia zestawu roszczeń JWT możesz też pominąć parametr sub, ponieważ kroki konfiguracji przyznają kontu usługi bezpośredni dostęp do konta Google Ads, co eliminuje konieczność podszywania się pod użytkownika Google Ads.

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

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

Uwierzytelnianie użytkowników

Gdy uzyskasz 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ą narzędzia wiersza poleceń curl:

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 Google Ads API:

GET /v25/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 logującego się

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

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 podawania 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 /v25/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 analityki aplikacji innych firm lub partnerów danych) podczas wykonywania działań na połączonym koncie Google Ads. Więcej informacji znajdziesz w przewodniku po strukturze wywołań interfejsu API.

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

Nagłówki odpowiedzi

W odpowiedziach HTTP z interfejsu API zwracane są te nagłówki.

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 warto mieć pod ręką identyfikator request-id, który jest przydatny podczas kontaktowania się z zespołem pomocy dla deweloperów Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC