开始使用

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

创建新的 Maven/Gradle 项目

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

Maven 依赖项为:

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

Gradle 依赖项为:

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

您还可以从源代码构建。在本指南中,我们假定您已设置了一个项目,其中包含所需的依赖项。

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

如需访问 Google Ads API,您需要拥有 OAuth 凭据和 Google Ads API 开发者令牌。本部分介绍了这些内容的含义、使用方式和获取方式。

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

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

虽然开发者令牌已与经理账号相关联,但无法提供对该账号的访问权限。而是,开发者令牌通常会授予对 API 的访问权限,而账号级访问权限则通过 OAuth 进行配置。

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

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

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

如果您使用自己的凭据进行授权(桌面应用流程)
请参阅 OAuth 桌面应用流程。其中包含您使用自己的凭据进行授权所需的所有详细信息。
如果您以第三方 Google 用户身份授权(网页流程)
请参阅 OAuth Web 应用流程。此示例介绍了如何为任意第三方用户设置 OAuth 授权。
如果您以 Google Apps 网域用户身份授权(服务账号流程)
请参阅 OAuth 服务账号流程。以下示例展示了如何为 Google Apps 网域用户设置 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'