授權與 HTTP 標頭

影片:驗證

呼叫 Google Ads API 時,您需要同時使用 OAuth 2.0 應用程式憑證和開發人員權杖。如果您使用 Google Ads 管理員帳戶進行 API 呼叫,也必須為每個要求指定 login-customer-id 標頭。本頁說明如何設定這些值,並記錄使用 REST 介面時,系統會傳送及接收的幾個其他 API 專屬 HTTP 標頭。

OAuth 2.0 憑證

Google Ads API 會使用應用程式憑證來識別及授權 API 要求。也可以設定 OAuth 2.0 用戶端和服務帳戶。若要進一步瞭解如何設定用戶端授權,請參閱「Google Ads API 中的 OAuth2」一文。

如果您是第一次使用 Google API,請先使用 oauth2lOAuth 2.0 Playground,先使用應用程式憑證和 Google Ads API 進行實驗,再編寫應用程式的程式碼。

使用電腦版或網頁應用程式流程

請按照這篇文章中的步驟,為 Google Ads API 設定 Google API 控制台專案。請記下「用戶端 ID」和「用戶端密鑰」,然後返回這個頁面。

建立 OAuth 用戶端後,請按照電腦版應用程式流程操作說明網頁應用程式流程操作說明,產生更新權杖存取權杖

使用服務帳戶

按照服務帳戶指南中的通用操作說明,設定 Google Ads API 的服務帳戶存取權。

設定用來存取 Google Ads 帳戶的服務帳戶後,請按照使用 OAuth 2.0 處理伺服器對伺服器應用程式指南的說明選取 HTTP/REST 分頁標籤。用於 Google Ads API 存取權的 scopehttps://www.googleapis.com/auth/adwords

產生新的存取權杖

取得用戶端 ID用戶端密鑰更新權杖後,您就能透過 curl 指令列工具產生新的存取權杖,用於 API 呼叫:

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

接著,您可以在每次對 Google Ads API 呼叫的 Authorization HTTP 標頭中,使用 curl 要求傳回的存取權杖

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

要求標頭

開發人員權仗:

Google Ads API 也需要開發人員權杖,才能呼叫 API。您可以直接透過 Google Ads 使用者介面申請管理員帳戶的權杖。如要進一步瞭解如何使用開發人員權杖進行設定,請參閱「取得開發人員權杖」一文。

您必須在每個對 Google Ads API 呼叫的 API 呼叫的 developer-token HTTP 標頭中加入開發人員權杖值:

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

登入客戶 ID

如果是管理員對客戶帳戶發出的 Google Ads API 呼叫 (也就是以管理員身分登入,對其中一個客戶帳戶發出 API 呼叫),您還需要提供 login-customer-id HTTP 標頭。這個值代表發出 API 呼叫的管理員的 Google Ads 客戶 ID。

加入這個標頭,相當於在登入或按一下頁面右上角的個人資料圖片後,在 Google Ads 使用者介面中選擇帳戶。指定客戶 ID 時,請務必移除所有連字號 (—),例如:1234567890,而非 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

已連結的客戶 ID

只有在將轉換資料上傳至已連結的 Google Ads 帳戶時,第三方應用程式分析供應商才能使用這個標頭。詳情請參閱 API 呼叫架構指南

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

回應標頭

下列標頭會在 API 的 HTTP 回應中傳回。

要求 ID

request-id 是用來識別 API 要求的專屬字串。當您對特定 API 呼叫進行偵錯或疑難排解時,request-id 是聯絡 Google 開發人員支援團隊時可派上用場的重要 ID。

request-id: 2a5Cj89VV7CNhya1DZjjrC