Начало работы с API

В этом документе объясняется, как начать разработку приложений, использующих 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

  1. Импортируйте необходимые библиотеки.

    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;
  2. Загрузите файл с секретами клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в вашем браузере. Прежде чем принять его, убедитесь, что вы вошли в систему с учетной записью 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");
  3. Создайте авторизованного API-клиента.

    // Create authorized API client.
    DoubleClickBidManager service =
        new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("bidmanager-java-installed-app-sample")
            .build();
  4. Выполнить операцию.

    // 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

  1. Импортируйте необходимые библиотеки.

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import discovery
  2. Загрузите файл с секретами клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в вашем браузере. Прежде чем принять его, убедитесь, что вы вошли в систему с учетной записью 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()
  3. Создайте авторизованного 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)
  4. Выполнить операцию.

    # 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 ./

  1. Загрузите и установите PHP-клиент Google API.

    Предпочтительный способ — через Composer :

    composer require google/apiclient:^2.12.1

    После установки обязательно включите автозагрузчик.

    require_once '/path/to/your-project/vendor/autoload.php';

  2. Создайте объект Google_Client.

    $client = new Google_Client();
  3. Настройте клиент, при необходимости перенаправьте на 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);
  4. Создайте клиент для сервиса Display & Video 360 API.

    $service = new Google_Service_DoubleClickBidManager($client);
  5. Выполнить операцию.

    // 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. Дальнейшие шаги

Теперь, когда у вас есть готовая и работающая клиентская библиотека, изучите справочную документацию и начните создавать свою реализацию.

Дополнительные руководства также доступны по использованию запланированных отчетов и соблюдению лучших практик составления отчетов .