服務帳戶

本指南將說明如何透過服務帳戶存取 Google Ads API。

服務帳戶是一種屬於應用程式的帳戶,而非個別使用者。服務帳戶可以啟用網頁應用程式和 Google 服務之間的伺服器對伺服器互動功能。應用程式會代表服務帳戶呼叫 Google API,因此使用者不會直接參與。

服務帳戶採用的 OAuth2 流程不需要人工授權,而是使用僅限您的應用程式存取的金鑰檔案。

使用服務帳戶有兩大好處:

  • Google API 存取權的授權是以設定步驟的形式完成,可以避免與其他需要使用者互動的 OAuth2 流程有關的複雜功能。
  • OAuth2 斷言流程可讓您的應用程式在必要時模擬其他使用者。

必要條件

  • 您擁有的 Google Workspace 網域,例如 mydomain.commybusiness.com
  • Google Ads API 開發人員權杖和測試帳戶 (選用)。
  • 您所用語言的用戶端程式庫
  • 已針對 Google Ads API 設定的 Google API 控制台專案。
  • 擁有您要存取 Google Ads 帳戶權限的 Google Ads 使用者。 Google Ads 不支援在未經模擬的情況下使用服務帳戶。

服務帳戶存取權設定

由於使用者模擬功能「只能」在網域層級控管,因此將服務帳戶和斷言流程與 Google OAuth2 搭配使用時,您就需要向 Google Workspace 註冊自有網域。如此一來,您的應用程式及其使用者就能模擬網域中的任何使用者。

  1. 首先,建立服務帳戶和憑證

    下載 JSON 格式的服務帳戶金鑰,並記下服務帳戶 ID。

  2. 將服務帳戶 ID 和 Google Ads API 範圍 (https://www.googleapis.com/auth/adwords) 提供給網域管理員。

    要求網域管理員將全網域授權委派給您的服務帳戶。

  3. 如果您是網域管理員,請完成說明中心內的操作說明

您現在可以透過 OAuth2 斷言流程,使用該服務帳戶存取 Google Ads 帳戶。

用戶端程式庫設定

請在下方選取您的語言來設定用戶端程式庫。

安全疑慮

由於服務帳戶具有您 Google Workspace 網域的網域層級委派控制項,因此請務必保護可讓服務帳戶存取其授權之 Google 服務的金鑰檔案。由於服務帳戶可以模擬網域中的任何使用者,因此這一點尤其重要。

另一個建議做法是允許服務帳戶只存取必要的最低 API 組合。這是一種預防性措施,可在服務帳戶的金鑰檔案遭駭時,限制攻擊者能存取的資料量。