本指南介绍如何着手编写使用 Ads Data Hub REST API 与广告数据中心进行交互的应用。通过 Ads Data Hub REST API,您可以查看与您的 Google 账号相关联的广告数据中心客户、创建查询以及运行查询。
设置
在使用 Ads Data Hub API 之前,您需要完成以下几个步骤:
- 确保在 Google Cloud 项目中向启用 API 的用户授予
serviceusage.services.enable
权限。还必须将具有serviceusage.services.enable
权限的用户列入许可名单,他们才能访问该 API。 - 在创建客户端凭据或服务账号的 Google Cloud 项目中启用 Ads Data Hub API。使用控制台为某个项目启用 Ads Data Hub API 的步骤如下:
- 前往 Cloud Console API 库。
- 从项目列表中选择想要使用的项目。
- 搜索“Ads Data Hub API”。
- 在 API 页面上,点击启用。
- 管理权限:
- 必须将创建凭据时所使用的电子邮件地址或服务账号添加到广告数据中心,并授予适当的权限。对于服务账号而言,这是指该服务账号的电子邮件地址。对于 OAuth 而言,这是指该用户的电子邮件地址。这样可以确保服务账号或最终用户的账号具有在广告数据中心内运行查询的权限。
- (推荐)安装 Google API 客户端库:
- Google API 客户端库提供多种主流语言版本。通过该客户端库,您可以使用多种 Google API。虽然这不是强制性的要求,但客户端库可减少您需要编写的代码量,并简化身份验证的设置。
客户端库 | 广告数据中心示例 |
---|---|
适用于 Java 的 Google API 客户端库 | Java |
适用于 Python 的 Google API 客户端库 |
身份验证和授权
Ads Data Hub API 可访问和更改您的广告数据中心客户账号内的数据,因此它需要确保您是已获授权的用户。鉴于此,在开始与 Ads Data Hub API 交互之前,需要完成授权流程。完成授权流程后,您便可获得与该 API 交互的必要权限。您可以使用 OAuth 2.0 或服务账号进行身份验证。
服务账号设置
- 前往 Google API 控制台并找到您的管理项目。
- 在 API 和服务下,确认是否为该项目启用了 Ads Data Hub API。
- 如果未启用,请点击 + 启用 API 和服务,启用 Ads Data Hub API。
- 在左侧导航菜单中,依次点击 IAM 和 管理 > 服务账号。
- 如果您尚未创建服务账号,请创建一个。
- 点击“操作”下的三点状菜单 (
- 依次点击添加密钥 > 创建新密钥。
- 确保已选中“JSON”后,点击创建。
),然后点击管理密钥。
- 将服务账号电子邮件地址作为用户添加到您的广告数据中心账号。
发送示例请求
#!/usr/bin/env python3 """This sample shows how to retrieve all accounts associated with the user. """ import json from google.oauth2.service_account import Credentials from googleapiclient.discovery import build SCOPES = ['https://www.googleapis.com/auth/adsdatahub'] DISCOVERY_URL = 'https://adsdatahub.googleapis.com/$discovery/rest?version=v1' creds = Credentials.from_service_account_file( 'service-account.json').with_scopes(SCOPES) developer_key = 'YOUR_DEVELOPER_KEY' # Replace with your developer key. service = build('AdsDataHub', 'v1', credentials=creds, developerKey=developer_key, discoveryServiceUrl=DISCOVERY_URL) # Replace with your customer ID. customer_name = input('Customer name (e.g. "customers/123"): ').strip() queries = service.customers().analysisQueries().list( parent=customer_name).execute() print(json.dumps(queries, sort_keys=True, indent=4))
后续步骤
- 参阅广告数据中心内的示例查询,查看您可以通过 Ads Data Hub REST API 创建和运行的查询示例。
- 在示例的基础上进行扩展,以熟悉该 API,并针对您的用例对其进行自定义。然后尝试:
- 轮询查询操作状态。
- 使用 BigQuery 客户端库检索已完成的查询结果。
- 如果您有关于该 API 的问题或反馈意见,可与广告数据中心支持团队联系。