با API شروع کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این سند نحوه شروع نوشتن برنامههایی را که از Google Bid Manager API استفاده میکنند، توضیح میدهد. API به شما امکان می دهد Queries را مدیریت کنید و ابرداده های گزارش را بازیابی کنید.
Bid Manager API v2 آخرین نسخه موجود و توصیه شده است.
1. قبل از شروع
اگر با مفاهیم Google Display & Video 360 آشنا نیستید، مرکز راهنمای Display & Video 360 را بخوانید و با UI آزمایش کنید.
2. برای احراز هویت آماده شوید
برای شروع استفاده از Bid Manager API، ابتدا باید از ابزار راهاندازی استفاده کنید که شما را از طریق ایجاد پروژه در کنسول API Google، فعال کردن API و ایجاد اعتبارنامه راهنمایی میکند.
اگر قبلاً این کار را انجام ندادهاید، اعتبارنامه OAuth 2.0 خود را با کلیک کردن روی
ایجاد اعتبار > شناسه مشتری OAuth ایجاد کنید. پس از ایجاد اعتبارنامه، می توانید شناسه مشتری خود را در صفحه
اعتبارنامه ها مشاهده کنید. برای جزئیات، مانند رمز سرویس گیرنده، URI های تغییر مسیر، آدرس مبدا جاوا اسکریپت و آدرس ایمیل، روی شناسه مشتری کلیک کنید.
برای اطلاعات بیشتر، مجوز درخواستها را ببینید.
3. با Bid Manager API تماس بگیرید
برگه های زیر شروع سریع برای کدنویسی به زبان های مختلف ارائه می دهند. کد نمونه مشابهی را نیز می توان در مخزن Bid Manager API Examples یافت.
جاوا
کتابخانه های لازم را وارد کنید.
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;
فایل اسرار مشتری را بارگیری کنید و اعتبارنامه مجوز ایجاد کنید.
اولین باری که این مرحله را انجام میدهید، از شما خواسته میشود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب Google وارد سیستم شدهاید که به Display & 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();
یک عملیات انجام دهید.
// 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 با جاوا، به فایل README در نمونههای Bid Manager API مراجعه کنید.
پایتون
کتابخانه های لازم را وارد کنید.
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient import discovery
فایل اسرار مشتری را بارگیری کنید و اعتبارنامه مجوز ایجاد کنید.
اولین باری که این مرحله را انجام میدهید، از شما خواسته میشود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب Google وارد سیستم شدهاید که به Display & 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)
یک عملیات انجام دهید.
# 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 با پایتون، به فایل README در مثالهای Bid Manager API مراجعه کنید.
PHP
این نمونه فرض می کند که شما PHP را با یک وب سرور داخلی اجرا می کنید و اعتبار خود را برای تغییر مسیر به صفحه وب مربوطه پیکربندی کرده اید. به عنوان مثال، این کد در یک فایل index.php
، می تواند با استفاده از دستور زیر و اعتبارنامه های پیکربندی شده برای تغییر مسیر به http://localhost:8000
پس از احراز هویت اجرا شود:
php -S localhost:8000 -t ./
Google API PHP Client را دانلود و نصب کنید.
روش ترجیحی از طریق Composer است:
composer require google/apiclient:^2.12.1
پس از نصب، حتماً Autoloader را در آن قرار دهید
require_once '/path/to/your-project/vendor/autoload.php';
یک شی Google_Client ایجاد کنید.
$client = new Google_Client();
کلاینت را تنظیم کنید، در صورت نیاز به URL احراز هویت هدایت کنید و یک نشانه دسترسی را بازیابی کنید.
اولین باری که این مرحله را انجام میدهید، از شما خواسته میشود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب Google وارد سیستم شدهاید که به Display & 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);
یک کلاینت برای سرویس 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، به فایل README در نمونه های Bid Manager API مراجعه کنید.
4. مراحل بعدی
اکنون که یک کتابخانه مشتری راهاندازی کردهاید، مستندات مرجع را بررسی کنید و شروع به ساختن پیادهسازی خود کنید.
راهنماهای اضافی نیز در مورد استفاده از گزارش های برنامه ریزی شده و دنبال کردن بهترین شیوه های گزارش دهی موجود است.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\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)."]]