授权和 HTTP 标头

视频:身份验证

调用 Google Ads API 时,您需要 OAuth 2.0 应用凭据和开发者令牌。如果您使用 Google Ads 经理帐号进行 API 调用,则还需要为每个请求指定 login-customer-id 标头。本页面介绍了如何设置这些值,并记录了使用 REST 接口时发送和接收的几个额外的 API 专用 HTTP 标头。

OAuth 2.0 凭据

Google Ads API 使用应用凭据来识别 API 请求并向其授权。OAuth 2.0 客户端和服务帐号均可配置。如需详细了解如何配置客户端授权,请参阅 Google Ads API 中的 OAuth2

如果您刚开始接触 Google API,可以在为应用编写代码之前,使用 oauth2lOAuth 2.0 Playground 来使用应用凭据和 Google Ads API 进行实验。

使用桌面应用或 Web 应用流程

按照相应步骤为 Google Ads API 配置一个 Google API 控制台项目。记录客户端 ID客户端密钥,然后返回此页面。

创建 OAuth 客户端后,请按照桌面应用流程说明Web 应用流程说明生成刷新令牌访问令牌

使用服务账号

请按照服务帐号指南中的常见说明为 Google Ads API 设置服务帐号访问权限。

设置可访问 Google Ads 帐号的服务帐号后,请按照针对服务器到服务器应用使用 OAuth 2.0 指南操作,确保选择 HTTP/REST 标签页。用于访问 Google Ads API 的 scopehttps://www.googleapis.com/auth/adwords

生成新的访问令牌

在拥有客户端 ID客户端密钥刷新令牌后,您可以生成新的访问令牌,用于通过 curl 命令行工具进行 API 调用:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

然后,您可以在每次对 Google Ads API 的 API 调用的 Authorization HTTP 标头中使用 curl 请求返回的访问令牌

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

请求标头

开发者令牌

Google Ads API 还需要开发者令牌才能调用 API。您可以直接通过 Google Ads 界面为您的经理帐号申请令牌。如需详细了解如何设置开发者令牌,请参阅获取开发者令牌

您需要在每次对 Google Ads API 进行 API 调用的 developer-token HTTP 标头中添加您的开发者令牌值:

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

登录客户 ID

对于经理对客户帐号发出的 Google Ads API 调用(即,以经理身份登录以对其其中一个客户帐号进行 API 调用时),您还需要提供 login-customer-id HTTP 标头。此值表示进行 API 调用的经理的 Google Ads 客户 ID。

添加此标题的作用相当于在登录或点击页面右上角的个人资料图片后,在 Google Ads 界面中选择帐号。指定客户 ID 时,请务必移除所有连字符 (-),例如 1234567890,而不是 123-456-7890

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

关联的客户 ID

只有第三方应用分析工具提供商在将转化数据上传到关联的 Google Ads 账号时使用此标头。如需了解详情,请参阅 API 调用结构指南

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

响应标头

该 API 的 HTTP 响应中会返回以下标头。

要求 ID

request-id 是一个字符串,用于唯一标识 API 请求。在调试或排查特定 API 调用的问题时,request-id 是一个重要的标识符,您可以在与 Google 开发者支持团队联系时随时使用。

request-id: 2a5Cj89VV7CNhya1DZjjrC