服务帐号

本指南介绍了如何使用服务帐号访问 Google Ads API。

服务帐号是属于您的应用而不是单个最终用户的帐号。服务帐号支持 Web 应用与 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。这是一项提前措施,可在服务帐号的密钥文件被盗用时限制攻击者可以访问的数据量。