适用于 Google Ads API 的 OAuth 2.0 内部结构

本部分的目标读者是熟悉 OAuth 2.0 规范并且了解如何结合使用 OAuth 2.0 和 Google API 的高级用户。

范围

单个访问令牌可以授予对多个 API 的不同程度的访问权限。一个名为 scope 的可变形参用于控制访问令牌允许的资源和操作集。在请求访问令牌期间,您的应用在 scope 参数中发送一个或多个值。

Google Ads API 的范围是:

https://www.googleapis.com/auth/adwords

离线访问

Google Ads API 客户端应用通常会请求进行离线访问。例如,当您的用户并未实际在线浏览您的网站时,您的应用可能会希望运行批处理作业。

要为某网络应用类型请求离线访问,请确保将 access_type 参数设置为 offline。您可以在 Google 的 OAuth2 指南中找到更多信息。

对于桌面应用类型,离线访问在默认情况下处于启用状态,因此您不必专门请求离线访问。

请求标头

gRPC 标头

使用 gRPC API 时,请在每个请求中添加访问令牌。您可以将 Credential 绑定到某个 Channel,使之用于该渠道上的所有请求。您还可以针对每次调用发送自定义凭据。有关处理授权的详细信息,请查阅 gRPC 授权指南

REST 标头

使用 REST API 时,请通过 HTTP 标头 Authorization 传递访问令牌。HTTP 请求示例如下所示:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \