本指南將說明如何透過服務帳戶存取 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
Ruby
Perl
安全疑慮
由於服務帳戶具有您 Google Workspace 網域的網域層級委派控制項,因此請務必保護可讓服務帳戶存取其授權之 Google 服務的金鑰檔案。由於服務帳戶可以模擬網域中的任何使用者,因此這一點尤其重要。
另一個建議做法是允許服務帳戶只存取必要的最低 API 組合。這是一種預防性措施,可在服務帳戶的金鑰檔案遭駭時,限制攻擊者能存取的資料量。