В этом документе рассказывается, как начать создавать приложения, в которых используется Google Bid Manager API. С помощью API можно управлять запросами и получать метаданные отчетов.
Bid Manager API версии 2 – это последняя и рекомендуемая версия.
1. Подготовка
Если вы не знакомы с концепциями Google Дисплея и Видео 360, изучите Справочный центр Дисплея и Видео 360 и попробуйте поработать с интерфейсом.
2. Подготовка к аутентификации
Чтобы начать работу с Bid Manager API, вам нужно воспользоваться специальным инструментом настройки. С его помощью вы сможете создать проект в Google API Console и включить API.
Если вы ещё не создали учетные данные OAuth 2.0, нажмите Создать учетные данные > Идентификатор клиента OAuth. После создания учетных данных вы сможете увидеть идентификатор клиента на странице Учетные данные. Нажмите на идентификатор клиента, чтобы посмотреть подробные сведения, например секретный код клиента, 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;
Загрузите файл с секретным кодом клиента и сгенерируйте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять приглашение, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к Дисплею и Видео 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 с Java можно найти в файле README в примерах Bid Manager API.
Python
Импортируйте необходимые библиотеки.
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discovery
Загрузите файл с секретным кодом клиента и сгенерируйте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять приглашение, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к Дисплею и Видео 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 с Python можно найти в файле README в примерах Bid Manager API.
PHP
В этом примере предполагается, что вы используете 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();Настройте клиент, при необходимости перенаправьте на URL аутентификации и получите токен доступа.
При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять приглашение, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к Дисплею и Видео 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. Дальнейшие действия
Теперь, когда вы настроили клиентскую библиотеку, изучите справочную документацию и начните реализацию.
Также рекомендуем ознакомиться с руководствами по использованию запланированных отчетов и рекомендациями по работе с отчетами.