调用 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,可以使用 oauth2l 或 OAuth 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 访问权限的 scope
为 https://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 时,使用 curl 请求返回的访问令牌作为 Authorization
HTTP 标头的值:
GET /v20/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 时,将开发者令牌值包含在 developer-token
HTTP 标头中:
GET /v20/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 /v20/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