Authentication

本文档介绍了如何向 Ad Manager API 进行身份验证。身份验证方式取决于您使用的界面以及运行代码的环境,但所有 API 请求都必须包含具有 Ad Manager API 作用域的访问令牌。

Ad Manager 客户端库使用应用默认凭证生成具有 Ad Manager API 范围的访问令牌。本指南介绍了如何配置应用默认凭证。

如果您不使用客户端库,仍然需要创建凭据并使用它们来授权您的请求。

如需详细了解身份验证和授权,请参阅使用 OAuth 2.0 指南。

确定您的身份验证类型

身份验证类型 说明
服务账号 如果您想以专用账号(而非特定个人)的身份进行身份验证,请选择此选项。
了解详情
Web 应用 如果您想以任何向您的应用授予访问其 Ad Manager 数据权限的用户身份进行身份验证,请选择此选项。
了解详情
本地开发 如果您想在本地开发环境中以自己的 Google 账号或服务账号的身份进行身份验证,请选择此选项。

启用 Ad Manager API

  1. 在您的 Google API 控制台 Cloud 项目中启用 Ad Manager API

  2. 如果系统提示您选择一个项目或创建一个新项目,请视需要选择相应选项。

创建凭据

点击相应身份验证类型的标签页,然后按照说明创建凭据:

服务账号

在 Google Cloud 上

如需对 Google Cloud 上运行的工作负载进行身份验证,请使用关联到代码在其中运行的计算资源的服务账号的凭据。

例如,您可以将服务账号关联到 Compute Engine 虚拟机 (VM) 实例、Cloud Run 服务或 Dataflow 作业。对于在 Google Cloud 计算资源上运行的代码,这是首选的身份验证方法。

如需了解可以将服务账号关联到的资源,以及有关将服务账号关联到资源的帮助,请参阅有关关联服务账号的文档

在本地或在其他云服务提供商上

如需在 Google Cloud 外部设置身份验证,首选方法是使用工作负载身份联合;您需要创建一个凭据配置文件并将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为指向它。此方法比创建服务账号密钥更安全。

如果您无法配置工作负载身份联合,则必须创建一个服务账号并为该服务账号创建密钥:

  1. 打开 Google API 控制台凭据页面

  2. 在“凭据”页面上,选择创建凭据,然后选择服务账号

  3. 点击要为其创建密钥的服务账号的电子邮件地址。

  4. 点击密钥标签页。

  5. 点击添加密钥下拉菜单,然后选择创建新密钥

  6. 选择 JSON 作为密钥类型,然后点击创建

  7. 将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为 JSON 文件的路径。

Linux 或 macOS

export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Windows

set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Web 应用

  1. 打开 Google API 控制台凭据页面

  2. 如果系统提示,请选择您已在其中启用 Ad Manager API 的项目。

  3. 在“凭据”页面上,选择创建凭据,然后选择 OAuth 客户端 ID

  4. 选择 Web 应用应用类型。

  5. 填写表单,然后点击创建。使用 PHP、Java、Python、Ruby 和 .NET 等语言和框架的应用必须指定授权的重定向 URI。重定向 URI 是 OAuth 2.0 服务器可以向其发送响应的端点。这些端点必须遵守 Google 的验证规则

  6. 创建凭据后,下载 client_secret.json 文件。将文件安全地存储在只有您的应用可以访问的位置。

接下来,按照步骤获取 OAuth 2.0 访问令牌

本地开发

在本地环境中设置应用默认凭证 (ADC)。

安装 Google Cloud CLI,然后通过运行以下命令对其进行初始化:

gcloud init

为您的 Google 账号创建本地身份验证凭据,并将项目 ID 设置为已启用 Ad Manager API 的项目:

gcloud auth application-default login --scopes="https://www.googleapis.com/auth/admanager"
gcloud auth application-default set-quota-project PROJECT_ID

或者,您也可以通过将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为密钥文件的路径,以服务账号的身份进行身份验证。

Linux 或 macOS

export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Windows

set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

配置 Ad Manager 广告资源网

服务账号

  1. 前往您的 Ad Manager 广告资源网
  2. 点击管理标签。
  3. 确保已启用 API 访问权限
  4. 点击添加服务账号用户按钮。
  5. 使用服务账号电子邮件地址填写表单。必须将服务账号用户添加到适合您的 API 集成的角色和团队中。
  6. 点击保存按钮。系统应会显示一条消息,确认已添加您的服务账号。
  7. 如需查看现有服务账号用户,请前往“用户”标签页,然后点击服务账号过滤条件。

Web 应用

  1. 前往您的 Ad Manager 广告资源网
  2. 点击管理标签。
  3. 确保已启用 API 访问权限

本地开发

  1. 前往您的 Ad Manager 广告资源网
  2. 点击管理标签。
  3. 确保已启用 API 访问权限

不使用客户端库

如果您不使用客户端库,我们仍然强烈建议您使用 OAuth2 库进行身份验证。

如需有关获取访问令牌的详细说明,请参阅将 OAuth2 与 Google API 搭配使用

访问令牌

在向 API 发出的请求中加入您的访问令牌,方法是加入 access_token 查询参数或 Authorization HTTP 标头 Bearer 值。如果可以,最好使用 HTTP 标头,因为查询字符串往往会显示在服务器日志中。

例如:

GET /v1/networks/1234
Host: admanager.googleapis.com
Authorization: Bearer ya29.a0Ad52N3_shYLX
GET https://admanager.googleapis.com/v1/networks/1234?access_token=1/fFAGRNJru1FTz70BzhT3Zg

范围

每个访问令牌都与一个或多个范围相关联。范围用于控制访问令牌允许的资源和操作集。Ad Manager API 有两个范围。如果您的应用不需要写入数据,我们建议您使用范围更窄的 admanager.readonly 范围。

范围 权限
https://www.googleapis.com/auth/admanager 在 Google Ad Manager 中查看和管理您的广告系列。
https://www.googleapis.com/auth/admanager.readonly 在 Google Ad Manager 上查看您的广告系列和数据。