Autoryzacja i nagłówki HTTP

Wideo: uwierzytelnianie

Do wywoływania interfejsu Google Ads API potrzebujesz danych logowania do aplikacji OAuth 2.0 oraz tokena dewelopera. Jeśli wykonujesz wywołania interfejsu API za pomocą konta menedżera Google Ads, musisz też w każdym żądaniu określić nagłówek login-customer-id. Na tej stronie opisujemy, jak ustawić te wartości, oraz dokumentujemy kilka dodatkowych, specyficznych dla interfejsu API nagłówków HTTP, które są wysyłane i odbierane podczas korzystania z interfejsu REST.

Dane uwierzytelniające OAuth 2.0

Interfejs Google Ads API używa danych logowania do aplikacji do identyfikowania i autoryzowania żądań do interfejsu API. Możesz skonfigurować 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 OAuth 2.0 Playground, aby poeksperymentować z danymi logowania do aplikacji i interfejsem Google Ads API przed napisaniem kodu aplikacji.

Korzystanie ze schematów aplikacji na komputer i w aplikacjach internetowych

Wykonaj te czynności, aby skonfigurować projekt w Konsoli interfejsów API Google pod kątem interfejsu Google Ads API. Zapisz identyfikator klienta i tajny klucz klienta, a następnie wróć na tę stronę.

Po utworzeniu klienta OAuth postępuj zgodnie z instrukcjami przepływu aplikacji komputerowej lub instrukcjami przepływu 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 używania protokołu OAuth 2.0 w aplikacjach międzyserwerowych i wybierz 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 masz 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 API:

GET /v16/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, by wywoływać go. Możesz złożyć wniosek 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.

Musisz umieszczać wartość tokena programisty w nagłówku HTTP developer-token każdego wywołania interfejsu API Google Ads API:

GET /v16/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 logujesz 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 wywołującego interfejs API.

Umieszczenie 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, pamiętaj o usunięciu myślników (–), takich jak 1234567890, a nie 123-456-7890.

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

Jest on 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 konkretnych wywołań interfejsu API lub rozwiązywania problemów z nimi request-id jest ważnym identyfikatorem, który będzie przydatny podczas kontaktowania się z zespołem pomocy Google dla deweloperów.

request-id: 2a5Cj89VV7CNhya1DZjjrC