开始使用

我们建议将客户端库与 Apache Maven(或 Gradle)搭配使用。

创建新的 Maven/Gradle 项目

在您选择的 IDE 中创建一个新的 Maven/Gradle 项目。我们的工件已发布至 Maven 中央代码库

Maven 依赖项为:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>38.0.0</version>
</dependency>

Gradle 依赖项为:

implementation 'com.google.api-ads:google-ads:38.0.0'

您也可以从源代码构建。在本指南中,我们假设您已设置项目,并且已添加所需的依赖项。

如果您是从源代码进行构建,请确保在 IDE 中启用注释处理。

获取用于通过 API 进行身份验证的凭据

访问 Google Ads API 需要 OAuth 凭据和 Google Ads API 开发者令牌。本部分将介绍这些内容是什么、如何使用以及如何获取。

开发者令牌(用于访问 API)

开发者令牌与经理账号相关联,可以在 Google Ads 网页界面中找到。

虽然开发者令牌与经理账号相关联,但它不会提供对该账号的访问权限。开发者令牌授予的是对 API 的一般访问权限,而账号级访问权限是通过 OAuth 配置的。

OAuth 凭据(用于访问 Google Ads 账号)

如需以有权访问 Google Ads 账号的 Google 账号用户身份进行授权,您必须提供一组 OAuth 凭据。

通常使用两种 OAuth 流程:桌面(已安装)应用或 Web 应用。这两者之间的主要区别在于,桌面应用必须打开系统浏览器并提供本地重定向 URI 来处理来自 Google 授权服务器的响应,而 Web 应用可以重定向任意第三方浏览器来完成授权并将凭据发送回您的服务器。该库还支持不太常用的服务账号流程。

如果您使用自己的凭据进行授权(桌面应用流程)
请参阅 OAuth 桌面应用流程。其中包括使用您自己的凭据进行授权所需的所有详细信息。
如果您以第三方 Google 用户的身份进行授权(网页流程)
请参阅 OAuth Web 应用流程。此示例展示了如何为任意第三方用户设置 OAuth 授权。
如果您以 Google Apps 网域用户身份进行授权(服务账号流程)
请参阅 OAuth 服务账号流程。本文举例说明了如何为 Google 应用网域用户设置 OAuth 授权。

如果您通过 Google Ads 经理账号访问 Google Ads 客户账号,还必须指定登录客户 ID,如下所述。

登录客户 ID(用于通过经理账号访问 Google Ads 账号)

(可选)指定可访问投放账号的经理账号的客户 ID。如果您通过经理账号访问客户账号,则必须指定此标头。无需指定客户 ID 路径上的所有经理账号,只需指定您用于访问权限的最顶层经理账号 ID 即可。如需了解详情,请参阅相关文档

使用您的凭据配置客户端库

您可以使用配置文件、环境变量或以编程方式配置客户端库。在本指南中,我们将使用配置文件方法,并重点介绍桌面版和网页版流程。如果您只有一组凭据(例如,您在单个经理账号下管理多个账号),那么使用配置文件通常是一个不错的选择。

创建一个包含以下内容的 ~/ads.properties 文件。

api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE

将占位符替换为您在上一步中获得的凭据。

此外,如果您的刷新令牌是针对经理账号的,您应将此账号的客户 ID 指定为登录客户:

api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

验证凭据

为确保一切设置正确无误,我们将运行 GetCampaigns 示例

首先,进入 google-ads-examples 目录。

cd google-ads-examples

此示例需要一个 --customerId 参数,其值为您的 Google Ads 账号客户 ID(不含短划线)。

如需使用 Gradle 运行,请执行以下操作:

./gradlew -q runExample --example="basicoperations.GetCampaigns --customerId INSERT_CUSTOMER_ID_HERE"

探索其他示例

google-ads-examples 中的 examples 软件包包含多个实用示例。大多数示例都需要参数。您可以将参数作为实参传递(推荐),也可以修改源代码中的 INSERT_XXXXX_HERE 值。如需查看示例的用法语句,请传递 --help 作为唯一实参。

使用 Gradle:

./gradlew -q runExample --example="basicoperations.GetCampaigns --help"

您还可以使用 Gradle 中的 listExamples 任务列出所有示例、子目录中的示例或说明中包含搜索字词的示例。

# List all examples:
./gradlew -q listExamples
# List examples in the 'basicoperations' subdirectory:
./gradlew -q listExamples --subdirectory='basicoperations'
# Search for examples where the description includes 'Performance Max':
./gradlew -q listExamples --searchTerm='Performance Max'