本指南將說明如何透過服務帳戶存取 Google Ads API。
服務帳戶是一種應用程式帳戶,而非個別使用者帳戶。服務帳戶可讓網頁應用程式和 Google 服務進行伺服器對伺服器的互動。您的應用程式會代表服務帳戶呼叫 Google API,因此使用者並未直接參與。
服務帳戶採用不需要人為授權的 OAuth2 流程,改採只有您的應用程式可以存取的金鑰檔案。
使用服務帳戶有兩大好處:
- Google API 存取權授權是透過設定步驟完成,因此可避免與其他 OAuth2 流程相關聯的複雜性。
- OAuth2 斷言流程可讓您的應用程式在必要時模擬其他使用者。
先備知識
- 您擁有的 Google Workspace 網域,例如
mydomain.com
或mybusiness.com
。 - Google Ads API 開發人員權杖和測試帳戶 (選用)。
- 您所用語言的用戶端程式庫。
- 為 Google Ads API 設定的 Google API 控制台專案。
- 具備您所要存取 Google Ads 帳戶權限的 Google Ads 使用者。Google Ads 不支援在不冒用他人身分的情況下使用服務帳戶。
服務帳戶存取權設定
由於使用者模擬功能「只能」在網域層級控管,因此若要透過 Google OAuth2 使用服務帳戶和斷言流程,您必須具有自己的註冊 Google Workspace 網域。這樣一來,您的應用程式及其使用者就能模擬網域中的任何使用者。
首先,建立服務帳戶和憑證。
以 JSON 格式下載服務帳戶金鑰,並記下服務帳戶 ID。
將服務帳戶 ID 和 Google Ads API 範圍 (
https://www.googleapis.com/auth/adwords
) 提供給網域管理員。要求網域管理員將全網域授權委派給您的服務帳戶。
如果您是網域管理員,請完成說明中心的操作說明。
這樣您就能透過 OAuth2 斷言流程,使用這個服務帳戶存取 Google Ads 帳戶。
用戶端程式庫設定
請在下方選取您的語言來設定用戶端程式庫。
Java
.NET
Python
PHP
小茹
Perl
安全疑慮
由於服務帳戶具有您 Google Workspace 網域的網域層級委派控制項,因此請務必保護能允許服務帳戶存取其授權的 Google 服務的金鑰檔案。由於服務帳戶能夠模擬網域中任何使用者,因此這點尤其重要。
另一個建議做法是允許服務帳戶僅存取一組最低必要的 API。如果服務帳戶的金鑰檔案遭駭,攻擊者可以運用這項預防措施來限制攻擊者可存取的資料量。