本文档介绍了如何向 Ad Manager API 进行身份验证。身份验证方式取决于您使用的界面以及运行代码的环境,但所有 API 请求都必须包含具有 Ad Manager API 范围的访问令牌。
Ad Manager 客户端库使用 应用默认凭证 生成具有 Ad Manager API 范围的访问令牌。本指南介绍了如何配置应用默认凭证。
如果您未使用客户端库,仍需要创建凭据并使用这些凭据来授权您的请求。
如需详细了解身份验证和授权,请参阅 使用 OAuth 2.0 指南。
确定您的身份验证类型
| 身份验证类型 | 说明 |
|---|---|
| 服务账号 | 如果您想以专用账号(而非特定人员)的身份进行身份验证,请选择此选项。 了解详情。 |
| Web 应用 | 如果您想以向您的应用授予访问其 Ad Manager 数据的权限的任何用户的身份进行身份验证,请选择此选项。 了解详情 |
| 本地开发 | 如果您想以自己的 Google 账号或本地开发环境中的服务账号的身份进行身份验证,请选择此选项。 |
启用 Ad Manager API
在 Google API 控制台 Cloud 项目中启用Ad Manager API。
如果系统提示您选择一个项目或创建一个新项目,请视需要选择相应选项。
创建凭据
点击与您的身份验证类型对应的标签页,然后按照说明创建凭据:
服务账号
在 Google Cloud 上
如需对 Google Cloud 上运行的工作负载进行身份验证,请使用关联到代码在其中运行的计算资源的服务账号的凭据。
例如,您可以将服务账号关联到 Compute Engine 虚拟机 (VM) 实例、Cloud Run 服务或 Dataflow 作业。对于在 Google Cloud 计算资源上运行的代码,这是首选的身份验证方法。
如需了解可以将服务账号关联到的资源, 以及有关将服务账号关联到资源的帮助,请参阅 有关关联服务账号的文档。
在本地或在其他云提供方上
从 Google Cloud 外部设置身份验证的首选方法是
使用 工作负载身份联合;您需要创建一个
凭据配置文件并将 GOOGLE_APPLICATION_CREDENTIALS
环境变量设置为指向它。此方法比创建服务账号密钥更安全。
如果您无法配置工作负载身份联合,则必须创建一个服务账号并为该服务账号创建密钥:
在“凭据”页面上,选择创建凭据,然后 选择服务账号。
点击要为其创建密钥的服务账号的电子邮件地址。
点击密钥 标签页。
点击添加密钥下拉菜单,然后选择创建新密钥。
选择 JSON 作为密钥类型 ,然后点击创建 。
将环境变量
GOOGLE_APPLICATION_CREDENTIALS设置为 JSON 文件的路径。
Linux 或 macOS
export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHWindows
set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHWeb 应用
如果系统提示您选择项目,请选择您在其中启用了 Ad Manager API 的项目。
在“凭据”页面上,选择 创建凭据,然后 选择 OAuth 客户端 ID。
选择 Web 应用 应用类型。
填写表单并点击创建 。使用 PHP、Java、Python、Ruby 和 .NET 等语言和框架的应用必须指定已获授权的重定向 URI 。重定向 URI 是 OAuth 2.0 服务器可以向其发送响应的端点。这些端点必须遵守 Google 的 验证规则。
创建凭据后,下载 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_PATHWindows
set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH配置 Ad Manager 广告资源网
服务账号
- 前往您的 Ad Manager 广告资源网。
- 点击管理 标签。
- 确保已启用 API 访问权限 。
- 点击添加服务账号用户 按钮。
- 使用服务账号电子邮件地址填写表单。必须将服务账号用户添加到适当的角色和团队,才能进行 API 集成。
- 点击保存 按钮。系统应会显示一条消息,确认已添加您的服务账号。
- 如需查看现有服务账号用户,请前往“用户”标签页,然后点击服务账号 过滤条件。
Web 应用
- 前往您的 Ad Manager 广告资源网。
- 点击管理 标签。
- 确保已启用 API 访问权限 。
本地开发
- 前往您的 Ad Manager 广告资源网。
- 点击管理 标签。
- 确保已启用 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 上查看您的广告系列和数据。 |