В этом документе объясняется, как начать разработку приложений, использующих API Google Bid Manager. API позволяет управлять запросами и получать метаданные отчетов .
Bid Manager API v2 — это последняя доступная и рекомендуемая версия.
1. Прежде чем начать
Если вы не знакомы с концепциями Google Display & Video 360, ознакомьтесь с информацией в Справочном центре Display & Video 360 и поэкспериментируйте с пользовательским интерфейсом .
2. Подготовка к аутентификации
Для начала работы с API Bid Manager необходимо воспользоваться инструментом настройки , который поможет вам создать проект в консоли Google API и включить API.
Если вы еще этого не сделали, создайте свои учетные данные OAuth 2.0, нажав «Создать учетные данные» > «Идентификатор клиента OAuth» . После создания учетных данных вы сможете увидеть свой идентификатор клиента на странице «Учетные данные» . Щелкните по идентификатору клиента, чтобы получить подробную информацию, такую как секретный ключ клиента, URI перенаправления, адрес источника JavaScript и адрес электронной почты.Для получения более подробной информации см. раздел «Авторизация запросов» .
3. Вызовите API менеджера заявок.
Приведенные ниже вкладки содержат примеры быстрого начала работы с кодом на различных языках. Аналогичный пример кода можно найти в репозитории примеров 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 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."); }
Более подробную информацию об использовании API Bid Manager с Java см. в файле README в примерах использования API Bid Manager .
Python
Импортируйте необходимые библиотеки.
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.')
Более подробную информацию об использовании API Bid Manager с Python см. в файле README в примерах использования API Bid Manager .
PHP
В этом примере предполагается, что вы используете PHP со встроенным веб-сервером и настроили учетные данные для перенаправления на соответствующую веб-страницу. Например, этот код в файле index.php можно запустить с помощью следующей команды, настроив учетные данные для перенаправления на http://localhost:8000 после аутентификации:
php -S localhost:8000 -t ./Загрузите и установите PHP-клиент Google API.
Предпочтительный способ — через 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, имеющей доступ к 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>'; }
Более подробную информацию об использовании API менеджера заявок с PHP см. в файле README в примерах использования API менеджера заявок .
4. Дальнейшие шаги
Теперь, когда у вас есть готовая и работающая клиентская библиотека, изучите справочную документацию и начните создавать свою реализацию.
Дополнительные руководства также доступны по использованию запланированных отчетов и соблюдению лучших практик составления отчетов .