Установите и настройте свой клиент

Мы рекомендуем использовать клиентские библиотеки Google API с API Display & Video 360. Использование клиентских библиотек избавляет от необходимости вручную отправлять HTTP-запросы и анализировать ответы. Клиентские библиотеки обеспечивают лучшую интеграцию с различными языками программирования, улучшенную безопасность и поддержку вызовов, требующих авторизации пользователя.

API Display & Video 360 построен на основе HTTP и JSON. При желании вы можете использовать любой стандартный HTTP-клиент для отправки запросов и анализа ответов.

Установите клиентскую библиотеку.

Мы предлагаем клиентские библиотеки, поддерживающие API Display & Video 360 на различных языках программирования. Полный список клиентских библиотек вы найдете на странице «Примеры и библиотеки» .

В руководствах для разработчиков по API Display & Video 360 представлены фрагменты кода на следующих языках:

Помимо фрагментов кода в наших руководствах, мы предлагаем полные примеры интеграции на этих языках. Примеры можно найти в нашем репозитории GitHub с примерами Display & Video 360 API .

Настройте свой клиент.

Имея учетные данные OAuth 2.0 и установленную клиентскую библиотеку , вы готовы использовать API Display & Video 360. Вот как авторизовать и настроить клиент:

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.displayvideo.v4.DisplayVideo;
    import com.google.api.services.displayvideo.v4.DisplayVideo.Advertisers;
    import com.google.api.services.displayvideo.v4.model.Advertiser;
    import com.google.api.services.displayvideo.v4.model.ListAdvertisersResponse;
    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.
    DisplayVideo service =
        new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("displayvideo-java-installed-app-sample")
            .build();
    

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://displayvideo.googleapis.com/$discovery/rest?version=v4'
    
    # Build the API service.
    service = discovery.build(
        'displayvideo',
        'v4',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
    

PHP

В этом примере предполагается, что вы используете PHP со встроенным веб-сервером и настроили учетные данные для перенаправления на соответствующую веб-страницу. Например, этот код в файле index.php можно запустить с помощью следующей команды, настроив учетные данные для перенаправления на http://localhost:8000 после аутентификации:

php -S localhost:8000 -t ./

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

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

    composer require google/apiclient:^2.18.2 google/apiclient-services:=0.396.0

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

    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('DV360 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_DisplayVideo($client);