本指南將說明如何透過服務帳戶存取 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 組合。如果服務帳戶的金鑰檔案遭到入侵,這種先備性措施可限制攻擊者可存取的資料量。