Autoryzacja i nagłówki HTTP

Film: uwierzytelnianie

Podczas wywoływania interfejsu Google Ads API potrzebujesz zarówno danych uwierzytelniających aplikacji OAuth 2.0, jak i tokena dewelopera. Jeśli wykonujesz wywołania interfejsu API za pomocą konta menedżera Google Ads, musisz też podać login-customer-idnagłóweklogin-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 logowania OAuth 2.0

Interfejs Google Ads API używa danych logowania aplikacji do identyfikowania i autoryzowania żądań interfejsu API. Możesz skonfigurować zarówno klientów OAuth 2.0, jak i konta usługi. Więcej informacji o konfigurowaniu autoryzacji po stronie klienta znajdziesz w artykule OAuth2 w interfejsie Google Ads API.

Jeśli dopiero zaczynasz korzystać z interfejsów API Google, możesz użyć narzędzia oauth2l lub OAuth 2.0 Playground, aby eksperymentować z danymi logowania aplikacji i interfejsem Google Ads API, zanim napiszesz kod aplikacji.

Korzystanie z przepływów aplikacji na komputery lub aplikacji internetowych

Wykonaj czynności, aby skonfigurować projekt w Konsoli interfejsów API Google na potrzeby interfejsu Google Ads API. Zapisz identyfikator klientatajny klucz klienta, a potem wróć na tę stronę.

Po utworzeniu klienta OAuth postępuj zgodnie z instrukcjami dotyczącymi aplikacji na komputery lub aplikacji internetowych, aby wygenerować token odświeżaniatoken dostępu.

Korzystanie z kont usługi

Aby skonfigurować dostęp konta usługi do interfejsu Google Ads API, postępuj zgodnie z ogólnymi instrukcjami podanymi w przewodniku Konta usługi.

Po skonfigurowaniu konta usługi w celu uzyskania dostępu do konta Google Ads postępuj zgodnie z instrukcjami w przewodniku Używanie protokołu OAuth 2.0 w aplikacjach międzyserwerowych. Pamiętaj, aby wybrać kartę HTTP/REST. scope, którego należy użyć w przypadku dostępu do interfejsu Google Ads API, to https://www.googleapis.com/auth/adwords.

Generowanie nowych tokenów dostępu

Gdy uzyskasz identyfikator klienta, tajny klucz klientatoken odświeżania, 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 HTTPAuthorization każdego wywołania interfejsu Google Ads API:

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

Nagłówki żądania

Token programisty

Interfejs Google Ads API wymaga też tokena programisty, aby można było wykonywać wywołania interfejsu API. Możesz poprosić o token dla konta menedżera bezpośrednio w interfejsie Google Ads. Więcej informacji o konfigurowaniu tokena programisty znajdziesz w artykule Uzyskiwanie tokena programisty.

developer-tokennagłówku HTTPdeveloper-token każdego wywołania interfejsu Google Ads API musisz podać wartość tokena programisty:

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

Identyfikator klienta logującego się

W przypadku wywołań interfejsu Google Ads API wykonywanych przez menedżera na koncie klienta (czyli gdy menedżer loguje się, aby wykonywać wywołania API na jednym ze swoich 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. Podając identyfikator klienta, usuń wszystkie łączniki (–), np. 1234567890, a nie 123-456-7890.

GET /v21/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

Ten nagłówek jest używany tylko przez zewnętrznych dostawców analityki aplikacji podczas przesyłania konwersji na połączone konto Google Ads. Więcej informacji znajdziesz w przewodniku po strukturze wywołań interfejsu API.

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_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 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