Начать, начать

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

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

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

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

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

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

Вы должны аутентифицировать все запросы API Менеджера рекламы, используя OAuth2. Приведенные ниже шаги охватывают простой пример доступа к вашим собственным данным Менеджера рекламы. Дополнительные сведения и другие параметры см. в разделе Аутентификация .

  1. Откройте страницу учетных данных Google API Console .
  2. В меню проекта выберите « Создать проект» , введите имя проекта и, при необходимости, отредактируйте предоставленный идентификатор проекта. Щелкните Создать .
  3. На странице «Учетные данные» выберите « Создать учетные данные », затем выберите « Ключ служебной учетной записи» .
  4. Выберите Новая учетная запись службы и выберите JSON в качестве типа ключа.
  5. Нажмите « Создать» , чтобы загрузить файл, содержащий закрытый ключ.

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

  1. Войдите в Google Менеджер рекламы.
  2. На боковой панели нажмите Администрирование > Глобальные настройки .
  3. В разделе « Общие настройки » > « Доступ к API» установите ползунок в положение « Включено ».
  4. Нажмите кнопку Сохранить внизу страницы.

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

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

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

Ява

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

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

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

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/master/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.v202211.Network;
    import com.google.api.ads.admanager.axis.v202211.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 v3.6+. Для получения более подробной информации об использовании обратитесь к файлу README в дистрибутиве клиентской библиотеки.

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

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

    pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/master/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='v202211')
    
    # 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/master/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\v202211\ApiException;
    use Google\AdsApi\AdManager\v202211\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 .

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

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

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

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

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

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

    • конфигурация/AdManagerApi
    • конфигурация/configSections/раздел[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 2.1 или более поздней версии.

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

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

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/master/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, :v202211)
    
    # 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.

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