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

Вы можете использовать API Google Ad Manager для создания приложений, которые управляют запасами, создают заказы, получают отчеты и многое другое.

API Менеджера рекламы использует SOAP. Чтобы помочь вам начать работу, мы предлагаем клиентские библиотеки для Java, .NET, Python, PHP и Ruby.

Чтобы сделать первый запрос API, выполните следующие действия:

Получите доступ к сети Менеджера рекламы

Если у вас его еще нет, зарегистрируйте аккаунт Менеджера рекламы . Вы также можете создать тестовую сеть , если хотите протестировать API в отдельной среде. Обратите внимание: для тестирования вам не нужна учетная запись AdSense.

Запишите код своей сети. Вы можете найти это в URL-адресе при входе в свою сеть. Например, в URL-адресе https://admanager.google.com/1234#home 1234 — это код вашей сети.

Создайте учетные данные для аутентификации

Вы должны аутентифицировать все запросы API Менеджера рекламы с помощью OAuth 2.0. Приведенные ниже шаги описывают вариант использования доступа к вашим собственным данным Менеджера рекламы. Более подробную информацию и другие параметры см. в разделе Аутентификация .

  1. Откройте страницу учетных данных консоли Google API.

  2. В меню проекта выберите «Создать проект» , введите имя проекта и, при необходимости, отредактируйте предоставленный идентификатор проекта. Нажмите Создать .

  3. На странице «Учетные данные» выберите «Создать учетные данные» , затем выберите «Ключ учетной записи службы ».

  4. Выберите «Новая учетная запись службы» и выберите JSON в качестве типа ключа.

  5. Нажмите «Создать» , чтобы загрузить файл, содержащий закрытый ключ.

Настройте свою сеть Менеджера рекламы

  1. Войдите в Google Менеджер рекламы.

  2. На боковой панели нажмите «Администратор» > «Глобальные настройки» .

  3. В разделе «Общие настройки» > «Доступ к API» установите ползунок в положение «Включено» .

  4. Нажмите кнопку «Сохранить» внизу страницы.

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

Загрузите одну из клиентских библиотек Менеджера рекламы . Библиотеки предлагают функции-оболочки и возможности, которые упрощают и ускоряют разработку приложений.

На вкладках ниже представлены краткие руководства по программированию на каждом из языков, для которых существует клиентская библиотека.

Java

Вот базовый пример, показывающий, как использовать клиентскую библиотеку Java . Более подробную информацию об использовании можно найти в файле README в дистрибутиве клиентской библиотеки.

  1. Настройте свои учетные данные

    Запустите следующую команду в оболочке:

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
    Откройте файл ~/ads.properties и заполните следующие поля:
    [...]
    api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE
    api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE
    api.admanager.networkCode=INSERT_NETWORK_CODE_HERE
    [...]
  2. Укажите зависимости

    Отредактируйте файл pom.xml и добавьте следующее в тег dependencies . Номер последней версии можно найти на Github .

    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>ads-lib</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>dfp-axis</artifactId>
      <version>RELEASE</version>
    </dependency>
  3. Напишите код и сделайте запрос!

    import com.google.api.ads.common.lib.auth.OfflineCredentials;
    import com.google.api.ads.common.lib.auth.OfflineCredentials.Api;
    import com.google.api.ads.admanager.axis.factory.AdManagerServices;
    import com.google.api.ads.admanager.axis.v202402.Network;
    import com.google.api.ads.admanager.axis.v202402.NetworkServiceInterface;
    import com.google.api.ads.admanager.lib.client.AdManagerSession;
    import com.google.api.client.auth.oauth2.Credential;
    
    public class App {
      public static void main(String[] args) throws Exception {
        Credential oAuth2Credential = new OfflineCredentials.Builder()
            .forApi(Api.AD_MANAGER)
            .fromFile()
            .build()
            .generateCredential();
    
        // Construct an AdManagerSession.
        AdManagerSession session = new AdManagerSession.Builder()
            .fromFile()
            .withOAuth2Credential(oAuth2Credential)
            .build();
    
        // Construct a Google Ad Manager service factory, which can only be used once per
        // thread, but should be reused as much as possible.
        AdManagerServices adManagerServices = new AdManagerServices();
    
        // Retrieve the appropriate service
        NetworkServiceInterface networkService = adManagerServices.get(session,
            NetworkServiceInterface.class);
    
        // Make a request
        Network network = networkService.getCurrentNetwork();
    
        System.out.printf("Current network has network code '%s' and display" +
            " name '%s'.%n", network.getNetworkCode(), network.getDisplayName());
      }
    }
    

Python

Вот базовый пример, показывающий, как использовать клиентскую библиотеку Python . Клиентская библиотека Python поддерживает Python v3.6+. Более подробную информацию об использовании можно найти в файле README в дистрибутиве клиентской библиотеки.

  1. Установите библиотеку и настройте свои учетные данные.

    Выполните следующие команды в оболочке:

    pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \
         -o ~/googleads.yaml
    
  2. Настройте файл ~/googleads.yaml .

    Заполните следующие поля:

    ad_manager:
      application_name: INSERT_APPLICATION_NAME_HERE
      network_code: INSERT_NETWORK_CODE_HERE
      path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
    
  3. Запустите код и сделайте запрос.
    # Import the library.
    from googleads import ad_manager
    
    # Initialize a client object, by default uses the credentials in ~/googleads.yaml.
    client = ad_manager.AdManagerClient.LoadFromStorage()
    
    # Initialize a service.
    network_service = client.GetService('NetworkService', version='v202402')
    
    # Make a request.
    current_network = network_service.getCurrentNetwork()
    
    print("Current network has network code '%s' and display name '%s'." %
            (current_network['networkCode'], current_network['displayName']))
    

PHP

Вот базовый пример, показывающий, как использовать клиентскую библиотеку PHP .

  1. Установите библиотеку и настройте свои учетные данные.

    Выполните следующие команды в оболочке, чтобы установить клиентскую библиотеку и загрузить файл adsapi_php.ini в свой домашний каталог:

    composer require googleads/googleads-php-lib
    curl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
  2. Настройте файл ~/adsapi_php.ini .

    Заполните следующие поля:

    [AD_MANAGER]
    networkCode = "INSERT_NETWORK_CODE_HERE"
    applicationName = "INSERT_APPLICATION_NAME_HERE"
    
    [OAUTH2]
    jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
    scopes = "https://www.googleapis.com/auth/dfp"
    
  3. Запустите код и сделайте запрос!
    <?php
    require 'vendor/autoload.php';
    use Google\AdsApi\AdManager\AdManagerSession;
    use Google\AdsApi\AdManager\AdManagerSessionBuilder;
    use Google\AdsApi\AdManager\v202402\ApiException;
    use Google\AdsApi\AdManager\v202402\ServiceFactory;
    use Google\AdsApi\Common\OAuth2TokenBuilder;
    
    // Generate a refreshable OAuth2 credential for authentication.
    $oAuth2Credential = (new OAuth2TokenBuilder())
        ->fromFile()
        ->build();
    // Construct an API session configured from a properties file and the OAuth2
    // credentials above.
    $session = (new AdManagerSessionBuilder())
        ->fromFile()
        ->withOAuth2Credential($oAuth2Credential)
        ->build();
    
    // Get a service.
    $serviceFactory = new ServiceFactory();
    $networkService = $serviceFactory->createNetworkService($session);
    
    // Make a request
    $network = $networkService->getCurrentNetwork();
    printf(
        "Network with code %d and display name '%s' was found.\n",
        $network->getNetworkCode(),
        $network->getDisplayName()
    );
    

.NET

Вот базовый пример, показывающий, как использовать клиентскую библиотеку .NET.

  1. Создать новый проект

    Откройте Visual Studio и создайте новый проект (консольное приложение).

  2. Добавьте необходимые ссылки на библиотеки в свой проект

    Добавьте зависимость nuget для Google.Dfp .

  3. Настройте свой App.config

    Скопируйте src\App.config в каталог вашего проекта и добавьте его в свой проект. Если ваше приложение имеет собственный App.config, вы можете скопировать в свой App.config следующие узлы:

    • конфигурация/AdManagerApi
    • конфигурация/configSections/section[name="AdManagerApi"]
    • конфигурация/system.net
  4. Учетные данные настройки

    Откройте App.config и отредактируйте следующие ключи:

    <add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" />
    <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" />
    <add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
    <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
    
  5. Позвоните в библиотеку

    Вы можете вызвать библиотеку, как показано в следующем фрагменте кода C#.

    AdManagerUser user = new AdManagerUser();
          using (InventoryService inventoryService = user.GetService<InventoryService>())
                {
                    // Create a statement to select ad units.
                    int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
                    StatementBuilder statementBuilder =
                        new StatementBuilder().OrderBy("id ASC").Limit(pageSize);
    
                    // Retrieve a small amount of ad units at a time, paging through until all
                    // ad units have been retrieved.
                    int totalResultSetSize = 0;
                    do
                    {
                        AdUnitPage page =
                            inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement());
    
                        // Print out some information for each ad unit.
                        if (page.results != null)
                        {
                            totalResultSetSize = page.totalResultSetSize;
                            int i = page.startIndex;
                            foreach (AdUnit adUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++,
                                    adUnit.id, adUnit.name);
                            }
                        }
    
                        statementBuilder.IncreaseOffsetBy(pageSize);
                    } while (statementBuilder.GetOffset() < totalResultSetSize);
    
                    Console.WriteLine("Number of results found: {0}", totalResultSetSize);
                }
            

Если вы не хотите указывать свои учетные данные в App.config, обратитесь к этой статье вики , чтобы узнать об альтернативных способах использования класса AdManagerUser. Более подробную информацию об использовании клиентской библиотеки .NET можно найти в README . Если вы хотите вести разработку на .NET без клиентской библиотеки, обратитесь к вики-статье NoClientLibrary .

Ruby

Вот базовый пример, показывающий, как использовать клиентскую библиотеку Ruby . Клиентская библиотека Ruby требует Ruby 2.1 или более поздней версии.

  1. Установите драгоценный камень Ruby и получите файл конфигурации.

    Выполните следующие команды в оболочке:

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
    
  2. Настройте свои учетные данные

    Заполните обязательные поля в файле ~/ad_manager_api.yml . Если у вас еще нет ключевого файла OAuth2, вам необходимо выполнить действия по созданию учетных данных OAuth2 .

    :authentication:
      :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE
      :application_name: INSERT_APPLICATION_NAME_HERE
      :network_code: INSERT_NETWORK_CODE_HERE
    
  3. Напишите код и сделайте запрос!
    # Import the library.
    require 'ad_manager_api'
    
    # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default).
    ad_manager = AdManagerApi::Api.new
    
    # Get a service instance.
    network_service = ad_manager.service(:NetworkService, :v202402)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]
    

Более подробные инструкции по началу работы можно найти в файле README , который распространяется вместе с клиентской библиотекой Ruby. Также ознакомьтесь с нашей полной библиотекой примеров для Ruby.

Следующие шаги

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

Просмотрите справочную документацию , чтобы узнать больше об API.

Если вам нужна помощь, посетите нашу страницу поддержки .