安装并配置客户端
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
我们建议您将 Google API 客户端库与 Bid Manager API 结合使用
而无需手动处理 HTTP 请求和响应Google API
客户端库能提供更好的语言集成、更高的安全性,以及
支持进行需要用户授权的调用。
Bid Manager API 是基于 HTTP 和 JSON 构建的。如果您希望
您可以使用任何标准 HTTP 客户端。
安装客户端库
我们提供的客户端库支持各种 Bid Manager API
编程语言。有关客户端库的完整列表,请参阅示例和
“库”标签页
Bid Manager API 开发者指南针对以下 3 个示例
语言:
如需查看这些语言的完整集成示例,请参阅我们的 Bid Manager API 示例
GitHub 代码库。
使用 OAuth 2.0 凭据和已安装的客户端
库,您就可以使用 Bid Manager API 了。具体方法如下:
授权并配置您的客户端:
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 java.io.Reader;
import java.nio.file.Files;
import java.nio.file.Paths;
加载客户端密钥文件并生成授权凭据。
首次执行此步骤时,系统会提示您接受授权
。接受之前,请确保您已使用
有权访问展示广告网络和Video 360。您的应用将获得授权
来代表当前登录的账号访问数据。
// 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();
Python
导入必要的库。
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient import discovery
加载客户端密钥文件并生成授权凭据。
首次执行此步骤时,系统会提示您接受授权
。接受之前,请确保您已使用
有权访问展示广告网络和Video 360。您的应用将获得授权
来代表当前登录的账号访问数据。
# 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)
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();
设置客户端,根据需要重定向到身份验证网址,并检索访问令牌。
首次执行此步骤时,系统会要求您接受授权
。接受之前,请确保您已使用
有权访问展示广告网络和Video 360。您的应用将获得授权
来代表当前登录的账号访问数据。
// 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);
为展示广告构建客户端和Video 360 API 服务。
$service = new Google_Service_DoubleClickBidManager($client);
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eThe Bid Manager API is built on HTTP and JSON, and Google recommends using their client libraries for easier integration and security.\u003c/p\u003e\n"],["\u003cp\u003eClient libraries for the Bid Manager API are available in various programming languages, including Java, Python, and PHP, with code snippets and examples provided.\u003c/p\u003e\n"],["\u003cp\u003eTo use the API, you need OAuth 2.0 credentials and an installed client library, and you can configure your client using provided code samples for Java, Python, and PHP.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code samples demonstrate how to import libraries, load client secrets, generate authorization credentials, and create authorized API clients in Java, Python, and PHP.\u003c/p\u003e\n"]]],["The document outlines using Google API client libraries for the Bid Manager API, built on HTTP and JSON. It details the process for Java, Python, and PHP. Key steps include: installing a client library, importing necessary libraries, loading client secrets, generating OAuth 2.0 authorization credentials, and creating an authorized API client. The process involves browser-based authorization prompts, ensuring the user is signed into a Google account with Display & Video 360 access. Specific code examples are given.\n"],null,["# Install and configure your client\n\nWe recommend using the Google API client libraries with the Bid Manager API, so you\ndon't have to manually process HTTP requests and responses. The Google API\nclient libraries can provide better language integration, improved security, and\nsupport for making calls that require user authorization.\n\nThe Bid Manager API is built on HTTP and JSON. If you prefer to process requests\nand responses manually, you can use any standard HTTP client.\n\nInstall a client library\n------------------------\n\nWe offer client libraries that support the Bid Manager API in a variety of\nprogramming languages. For a full list of client libraries, see the [Samples and\nlibraries tab](/bid-manager/libraries).\n\nThe Bid Manager API developer guides provide code snippets for the following three\nlanguages:\n\n- [Java](//github.com/googleads/googleads-bidmanager-examples/blob/main/java/v2/README.md)\n- [Python](//github.com/googleads/googleads-bidmanager-examples/blob/main/python/v2/README.md)\n- [PHP](//github.com/googleads/googleads-bidmanager-examples/blob/main/php/v2/README.md)\n\nFor full integration examples in these languages, see our [Bid Manager API examples\nGitHub repository](//github.com/googleads/googleads-bidmanager-examples).\n\nConfigure your client\n---------------------\n\nWith [OAuth 2.0 credentials](/bid-manager/guides/get-started/generate-credentials#generate_credentials) and an [installed client\nlibrary](#install_a_client_library), you're ready to use the Bid Manager API. Here's how to\nauthorize and configure your client: \n\n### Java\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 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 ```\n\n### Python\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 ```\n\n### PHP\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 ```"]]