Autoryzacja i nagłówki HTTP

Wideo: uwierzytelnianie

Przy wywoływaniu interfejsu Google Ads API potrzebujesz zarówno danych logowania do aplikacji OAuth 2.0, jak i tokena programisty. Jeśli wykonujesz wywołania interfejsu API za pomocą konta menedżera Google Ads, musisz też podawać nagłówek login-customer-id w każdym żądaniu. Na tej stronie opisujemy, jak ustawić te wartości. Znajdziesz w nim też informacje o kilku dodatkowych nagłówkach HTTP specyficznych dla interfejsu API, które są wysyłane i odbierane przy użyciu interfejsu REST.

Dane logowania OAuth 2.0

Interfejs Google Ads API używa danych logowania aplikacji do identyfikowania i autoryzowania żądań do interfejsu API. Można konfigurować zarówno klienty 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 nie masz doświadczenia z interfejsami API Google, możesz użyć oauth2l lub Playground 2.0, aby poeksperymentować z danymi logowania aplikacji i interfejsem Google Ads API przed napisaniem kodu aplikacji.

Korzystanie z procesów w aplikacji na komputerze lub w aplikacji internetowej

Postępuj zgodnie z instrukcjami, aby skonfigurować projekt Konsoli interfejsów API Google na potrzeby interfejsu Google Ads API. Zapisz identyfikator klienta i tajny klucz klienta, a potem wróć na tę stronę.

Po utworzeniu klienta OAuth postępuj zgodnie z instrukcjami przepływu aplikacji komputerowej lub instrukcjami przepływu w aplikacji internetowej, aby wygenerować token odświeżania i token dostępu.

Korzystanie z kont usługi

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

Po skonfigurowaniu konta usługi umożliwiającego dostęp do konta Google Ads postępuj zgodnie z instrukcjami w przewodniku Używanie protokołu OAuth 2.0 w aplikacjach między serwerami (pamiętaj, by wybrać kartę HTTP/REST). 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

Mając identyfikator klienta, tajny klucz klienta i token 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żywasz tokena dostępu zwróconego przez żądanie curl w nagłówku HTTP Authorization każdego wywołania interfejsu API Google Ads:

GET /v17/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 również tokena programisty do wywoływania interfejsu API. Możesz poprosić o token dla swojego konta menedżera bezpośrednio w interfejsie Google Ads. Więcej informacji o konfigurowaniu tokena programisty znajdziesz w artykule Uzyskiwanie tokena programisty.

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

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

Login klienta

W przypadku wywołań interfejsu Google Ads API przez menedżera wysyłanych do konta klienta (czyli gdy zalogujesz się jako menedżer w celu wykonywania wywołań 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 wykonującego wywołanie interfejsu API.

Dołączenie tego nagłówka jest równoważne 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 pamiętaj, by usunąć wszystkie łączniki (—), na przykład 1234567890, a nie 123-456-7890.

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

Identyfikator połączonego 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

Poniższe nagłówki są zwracane w odpowiedziach HTTP z interfejsu API.

Identyfikator zgłoszenia

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 to ważny identyfikator, który jest potrzebny podczas kontaktowania się z zespołem pomocy Google dla deweloperów.

request-id: 2a5Cj89VV7CNhya1DZjjrC