服務帳戶

本指南將說明如何透過服務帳戶存取 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。如果服務帳戶的金鑰檔案遭駭,攻擊者可以運用這項預防措施來限制攻擊者可存取的資料量。