API 使用入门
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本文档介绍了如何开始编写使用 Google 出价管理器 API 的应用。借助此 API,您可以管理查询并检索报告元数据。
Bid Manager API v2 是最新的推荐版本。
1. 前期准备
如果您不熟悉 Google 展示广告网络,Video 360 概念,请阅读
展示广告与Video 360 帮助中心和
使用界面进行一些实验。
2. 为身份验证做准备
要开始使用 Bid Manager API,您需要先使用设置工具,该工具会引导您在 Google API 控制台中创建项目、启用 API 以及创建凭据。
如果您尚未创建 OAuth 2.0 凭据,请点击
创建凭据 >OAuth 客户端 ID。创建
凭据,您可以在
凭据页面上看到您的客户端 ID。点击客户端 ID 即可查看详细信息(例如客户端密钥、重定向 URI、JavaScript 源地址及电子邮件地址)。
如需了解详情,请参阅
授权请求。
3. 调用 Bid Manager API
以下标签页提供了使用各种语言编码的快速入门。您还可以在 Bid Manager API Examples 代码库中找到类似的示例代码。
Java
导入必要的库。
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.util.Utils;
import com.google.api.services.doubleclickbidmanager.DoubleClickBidManager;
import com.google.api.services.doubleclickbidmanager.model.ListQueriesResponse;
import com.google.api.services.doubleclickbidmanager.model.Query;
import java.io.Reader;
import java.nio.file.Files;
import java.nio.file.Paths;
加载客户端密钥文件并生成授权凭据。
首次执行此步骤时,系统会提示您接受授权
。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权
来代表当前登录的账号访问数据。
// Read client secrets file.
GoogleClientSecrets clientSecrets;
try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) {
clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader);
}
// Generate authorization credentials.
// Set up the authorization code flow.
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
Utils.getDefaultTransport(),
Utils.getDefaultJsonFactory(),
clientSecrets,
oauth-scopes)
.build();
Credential credential =
new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
创建已获授权的 API 客户端。
// Create authorized API client.
DoubleClickBidManager service =
new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
.setApplicationName("bidmanager-java-installed-app-sample")
.build();
执行操作。
// Perform an operation.
// Call the API, getting a list of 10 queries.
ListQueriesResponse queriesResponse = service.queries().list().setPageSize(10).execute();
// Print them out.
System.out.println("Id\t\tName");
if (queriesResponse.getQueries().size() > 0) {
for (int i = 0; i < queriesResponse.getQueries().size(); i++) {
Query currentQuery = queriesResponse.getQueries().get(i);
System.out.printf(
"%s\t%s%n",
currentQuery.getQueryId(),
currentQuery.getMetadata().getTitle());
}
} else {
System.out.println("No queries exist.");
}
若想详细了解如何结合使用 Bid Manager API 和 Java
请参阅
README
文件(位于
Bid Manager API 示例。
Python
导入必要的库。
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient import discovery
加载客户端密钥文件并生成授权凭据。
首次执行此步骤时,系统会提示您接受授权
。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权
来代表当前登录的账号访问数据。
# Set up a flow object to create the credentials using the
# client secrets file and OAuth scopes.
credentials = InstalledAppFlow.from_client_secrets_file(
path-to-client-secrets-file, oauth-scopes).run_local_server()
创建已获授权的 API 客户端。
# Build the discovery document URL.
discovery_url = f'https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v2'
# Build the API service.
service = discovery.build(
'doubleclickbidmanager',
'v2',
discoveryServiceUrl=discovery_url,
credentials=credentials)
执行一项操作。
# Build and execute queries.listqueries request.
response = service.queries().list(pageSize='10').execute()
# Print queries out.
if 'queries' in response:
print('Id\t\tName')
for query in response['queries']:
print('%s\t%s' % (query['queryId'], query['metadata']['title']))
else:
print('No queries exist.')
若想详细了解如何结合使用 Bid Manager API 和 Python
请参阅
README
文件(位于
Bid Manager API 示例。
PHP
此示例假定您使用内置 Web 服务器运行 PHP,并且已将凭据配置为重定向到相关网页。对于
例如,index.php
文件中的这段代码可以使用以下代码运行
命令和凭据配置为在下列时间后重定向到 http://localhost:8000
身份验证:
php -S localhost:8000 -t ./
下载并安装 Google API PHP 客户端。
首选方法是通过 Composer:
composer require google/apiclient:^2.12.1
安装后,请确保包含自动加载器
require_once '/path/to/your-project/vendor/autoload.php';
创建 Google_Client 对象。
$client = new Google_Client();
设置客户端,根据需要重定向到身份验证网址,并检索访问令牌。
首次执行此步骤时,系统会提示您接受授权
。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权
来代表当前登录的账号访问数据。
// Set up the client.
$client->setApplicationName('DBM API PHP Samples');
$client->addScope(oauth-scope);
$client->setAccessType('offline');
$client->setAuthConfigFile(path-to-client-secrets-file);
// If the code is passed, authenticate. If not, redirect to authentication page.
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
} else {
$authUrl = $client->createAuthUrl();
header('Location: ' . $authUrl);
}
// Exchange authorization code for an access token.
$accessToken = $client->getAccessToken();
$client->setAccessToken($accessToken);
为 Display & Video 360 API 服务构建客户端。
$service = new Google_Service_DoubleClickBidManager($client);
执行操作。
// Configure params for the Queries.listqueries request.
$optParams = array('pageSize' => 10);
// Execute the request.
$result = $service->queries->listQueries($optParams);
// Print the retrieved queries.
if (!empty($result->getQueries())) {
print('<pre><p>Id Name</p>');
foreach ($result->getQueries() as $query) {
printf('<p>%s %s</p>', $query->queryId, $query->metadata->title);
}
print('</pre>');
} else {
print '<p>No queries exist.</p>';
}
如需详细了解如何将 Bid Manager API 与 PHP 搭配使用,请参阅 Bid Manager API 示例中的 README 文件。
4. 后续步骤
现在,您已经启动并运行了客户端库,接下来可以浏览参考文档,并开始构建您的实现。
您还可以参阅
利用定期生成的报告
和
遵循报告最佳做法。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eThe Google Bid Manager API allows you to programmatically manage queries and retrieve report metadata, streamlining your workflow.\u003c/p\u003e\n"],["\u003cp\u003eBefore using the API, ensure familiarity with Display & Video 360 by exploring its help center and user interface.\u003c/p\u003e\n"],["\u003cp\u003eTo begin, set up authentication using the provided setup tool, enabling the API and generating necessary credentials for secure access.\u003c/p\u003e\n"],["\u003cp\u003eUtilize the provided quickstarts and code examples for Java, Python, and PHP to integrate the API into your applications efficiently.\u003c/p\u003e\n"],["\u003cp\u003eAfter setup, delve into the reference documentation and explore guides on scheduled reports and reporting best practices for optimal utilization.\u003c/p\u003e\n"]]],[],null,["This document explains how to get started writing apps that use the\nGoogle Bid Manager API. The API lets you manage\n[Queries](/bid-manager/reference/rest/v2/queries) and retrieve\n[Report](/bid-manager/reference/rest/v2/queries.reports) metadata.\n\nBid Manager API v2 is the latest available and recommended\nversion.\n\n1. Before you start\n\nIf you're unfamiliar with Google Display \\& Video 360 concepts, read the\n[Display \\& Video 360 Help Center](//support.google.com/displayvideo/) and\nexperiment with the [UI](//displayvideo.google.com/).\n\n2. Prepare for authentication\n\nTo get started using Bid Manager API, you need to first\n[use\nthe setup tool](https://console.cloud.google.com/start/api?id=doubleclickbidmanager&credential=client_key), which guides you through creating a project in the\nGoogle API Console, enabling the API, and creating credentials.\nIf you haven't done so already, create your OAuth 2.0 credentials by clicking **Create credentials \\\u003e OAuth client ID** . After you've created the credentials, you can see your client ID on the **Credentials** page. Click the client ID for details, such as client secret, redirect URIs, JavaScript origins address, and email address.\n\nFor more information, see\n[Authorize Requests](/bid-manager/how-tos/authorizing).\n\n3. Call the Bid Manager API\n\nThe tabs below provide quickstarts for coding in various languages. Similar\nsample code can also be found in the\n[Bid Manager API Examples](//github.com/googleads/googleads-bidmanager-examples)\nrepo. \n\nJava\n\n1. **Import the necessary libraries.**\n\n ```java\n import static java.nio.charset.StandardCharsets.UTF_8;\n import com.google.api.client.auth.oauth2.Credential;\n import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;\n import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;\n import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;\n import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;\n import com.google.api.client.googleapis.util.Utils;\n import com.google.api.services.doubleclickbidmanager.DoubleClickBidManager;\n import com.google.api.services.doubleclickbidmanager.model.ListQueriesResponse;\n import com.google.api.services.doubleclickbidmanager.model.Query;\n import java.io.Reader;\n import java.nio.file.Files;\n import java.nio.file.Paths;\n ```\n2. **Load the client secrets file and generate authorization credentials.**\n\n\n The first time you perform this step, you are asked to accept an authorization\n prompt in your browser. Before accepting, make sure you're signed in with a\n Google Account that has access to Display \\& Video 360. Your app will be authorized\n to access data on behalf of whichever account is currently signed in.\n\n ```java\n // Read client secrets file.\n GoogleClientSecrets clientSecrets;\n try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) {\n clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader);\n }\n\n // Generate authorization credentials.\n // Set up the authorization code flow.\n GoogleAuthorizationCodeFlow flow =\n new GoogleAuthorizationCodeFlow.Builder(\n Utils.getDefaultTransport(),\n Utils.getDefaultJsonFactory(),\n clientSecrets,\n oauth-scopes)\n .build();\n\n Credential credential =\n new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize(\"user\");\n ```\n3. **Create an authorized API client.**\n\n ```java\n // Create authorized API client.\n DoubleClickBidManager service =\n new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential)\n .setApplicationName(\"bidmanager-java-installed-app-sample\")\n .build();\n ```\n4. **Perform an operation.**\n\n ```java\n // Perform an operation.\n // Call the API, getting a list of 10 queries.\n ListQueriesResponse queriesResponse = service.queries().list().setPageSize(10).execute();\n\n // Print them out.\n System.out.println(\"Id\\t\\tName\");\n if (queriesResponse.getQueries().size() \u003e 0) {\n for (int i = 0; i \u003c queriesResponse.getQueries().size(); i++) {\n Query currentQuery = queriesResponse.getQueries().get(i);\n System.out.printf(\n \"%s\\t%s%n\",\n currentQuery.getQueryId(),\n currentQuery.getMetadata().getTitle());\n }\n } else {\n System.out.println(\"No queries exist.\");\n }\n ```\n\nFor more detailed information about using the Bid Manager API with Java,\nrefer to the\n[README](//github.com/googleads/googleads-bidmanager-examples/blob/HEAD/java/README.md)\nfile in the\n[Bid Manager API examples](//github.com/googleads/googleads-bidmanager-examples).\n\nPython\n\n1. **Import the necessary libraries.**\n\n ```python\n from google_auth_oauthlib.flow import InstalledAppFlow\n from googleapiclient import discovery\n ```\n2. **Load the client secrets file and generate authorization credentials.**\n\n\n The first time you perform this step, you are asked to accept an authorization\n prompt in your browser. Before accepting, make sure you're signed in with a\n Google Account that has access to Display \\& Video 360. Your app will be authorized\n to access data on behalf of whichever account is currently signed in.\n\n ```python\n # Set up a flow object to create the credentials using the\n # client secrets file and OAuth scopes.\n credentials = InstalledAppFlow.from_client_secrets_file(\n path-to-client-secrets-file, oauth-scopes).run_local_server()\n ```\n3. **Create an authorized API client.**\n\n ```python\n # Build the discovery document URL.\n discovery_url = f'https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v2'\n\n # Build the API service.\n service = discovery.build(\n 'doubleclickbidmanager',\n 'v2',\n discoveryServiceUrl=discovery_url,\n credentials=credentials)\n ```\n4. **Perform an operation.**\n\n ```python\n # Build and execute queries.listqueries request.\n response = service.queries().list(pageSize='10').execute()\n\n # Print queries out.\n if 'queries' in response:\n print('Id\\t\\tName')\n for query in response['queries']:\n print('%s\\t%s' % (query['queryId'], query['metadata']['title']))\n else:\n print('No queries exist.')\n ```\n\nFor more detailed information about using the Bid Manager API with Python,\nrefer to the\n[README](//github.com/googleads/googleads-bidmanager-examples/blob/HEAD/python/README.md)\nfile in the\n[Bid Manager API examples](//github.com/googleads/googleads-bidmanager-examples).\n\nPHP\n\n\nThis sample assumes that you are running the PHP with a built-in web server and\nhave configured your credentials to redirect to the relevant web page. For\nexample, this code, in an `index.php` file, can be run using the following\ncommand and credentials configured to redirect to `http://localhost:8000` after\nauthentication: \n\n```php\nphp -S localhost:8000 -t ./\n```\n\n\u003cbr /\u003e\n\n1. **Download and install the Google API PHP Client.**\n\n The preferred method is via [Composer](https://getcomposer.org/): \n\n ```php\n composer require google/apiclient:^2.12.1\n ```\n\n \u003cbr /\u003e\n\n Once installed, be sure to include the autoloader \n\n ```php\n require_once '/path/to/your-project/vendor/autoload.php';\n ```\n\n \u003cbr /\u003e\n\n2. **Create a Google_Client object.**\n\n ```php\n $client = new Google_Client();\n ```\n3. **Set up the client, redirect to authentication URL if needed, and retrieve an access token.**\n\n\n The first time you perform this step, you are asked to accept an authorization\n prompt in your browser. Before accepting, make sure you're signed in with a\n Google Account that has access to Display \\& Video 360. Your app will be authorized\n to access data on behalf of whichever account is currently signed in.\n\n ```php\n // Set up the client.\n $client-\u003esetApplicationName('DBM API PHP Samples');\n $client-\u003eaddScope(\u003cvar translate=\"no\"\u003eoauth-scope\u003c/var\u003e);\n $client-\u003esetAccessType('offline');\n $client-\u003esetAuthConfigFile(\u003cvar translate=\"no\"\u003epath-to-client-secrets-file\u003c/var\u003e);\n\n // If the code is passed, authenticate. If not, redirect to authentication page.\n if (isset($_GET['code'])) {\n $client-\u003eauthenticate($_GET['code']);\n } else {\n $authUrl = $client-\u003ecreateAuthUrl();\n header('Location: ' . $authUrl);\n }\n\n // Exchange authorization code for an access token.\n $accessToken = $client-\u003egetAccessToken();\n $client-\u003esetAccessToken($accessToken);\n ```\n4. **Construct a client for the Display \\& Video 360 API service.**\n\n ```php\n $service = new Google_Service_DoubleClickBidManager($client);\n ```\n5. **Perform an operation.**\n\n ```php\n // Configure params for the Queries.listqueries request.\n $optParams = array('pageSize' =\u003e 10);\n\n // Execute the request.\n $result = $service-\u003equeries-\u003elistQueries($optParams);\n\n // Print the retrieved queries.\n if (!empty($result-\u003egetQueries())) {\n print('\u003cpre\u003e\u003cp\u003eId Name\u003c/p\u003e');\n foreach ($result-\u003egetQueries() as $query) {\n printf('\u003cp\u003e%s %s\u003c/p\u003e', $query-\u003equeryId, $query-\u003emetadata-\u003etitle);\n }\n print('\u003c/pre\u003e');\n } else {\n print '\u003cp\u003eNo queries exist.\u003c/p\u003e';\n }\n ```\n\nFor more detailed information about using the Bid Manager API with PHP,\nrefer to the\n[README](//github.com/googleads/googleads-bidmanager-examples/blob/HEAD/php/README.md)\nfile in the\n[Bid Manager API examples](//github.com/googleads/googleads-bidmanager-examples).\n\n4. Next steps\n\nNow that you have a client library up and running, explore the reference\ndocumentation and begin building out your implementation.\n\nAdditional guides are also available on\n[utilizing scheduled reports](/bid-manager/guides/scheduled-reports/overview)\nand\n[following reporting best practices](/bid-manager/guides/scheduled-reports/best-practices)."]]