Вы можете использовать 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. Приведенные ниже шаги описывают вариант использования доступа к вашим собственным данным Менеджера рекламы. Более подробную информацию и другие параметры см. в разделе Аутентификация .
В меню проекта выберите «Создать проект» , введите имя проекта и, при необходимости, отредактируйте предоставленный идентификатор проекта. Нажмите Создать .
На странице «Учетные данные» выберите «Создать учетные данные» , затем выберите « Ключ учетной записи службы» .
Выберите «Новая учетная запись службы» и выберите
JSON
в качестве типа ключа.Нажмите «Создать» , чтобы загрузить файл, содержащий закрытый ключ.
Настройте свою сеть Менеджера рекламы
Войдите в Google Ad Manager.
На боковой панели нажмите «Администратор» > «Глобальные настройки» .
В разделе «Общие настройки» > «Доступ к API» установите ползунок в положение «Включено» .
Нажмите кнопку «Сохранить» внизу страницы.
Настройте свой клиент
Загрузите одну из клиентских библиотек Менеджера рекламы . Библиотеки предлагают функции-оболочки и возможности, которые упрощают и ускоряют разработку приложений.
На вкладках ниже представлены краткие руководства по программированию на каждом из языков, для которых существует клиентская библиотека.
Java
Вот базовый пример, показывающий, как использовать клиентскую библиотеку Java . Более подробную информацию об использовании можно найти в файле README в дистрибутиве клиентской библиотеки.
- Настройте свои учетные данные
Запустите следующую команду в оболочке:
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 [...]
Укажите зависимости
Отредактируйте файл
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>
Напишите код и сделайте запрос!
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.v202408.Network; import com.google.api.ads.admanager.axis.v202408.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 в дистрибутиве клиентской библиотеки.
- Установите библиотеку и настройте свои учетные данные.
Выполните следующие команды в оболочке:
pip install googleads
curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \ -o ~/googleads.yaml
- Настройте файл
~/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
- Запустите код и сделайте запрос.
# 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='v202408') # 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 .
- Установите библиотеку и настройте свои учетные данные.
Выполните следующие команды в оболочке, чтобы установить клиентскую библиотеку и загрузить файл 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
- Настройте файл
~/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"
- Запустите код и сделайте запрос!
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202408\ApiException; use Google\AdsApi\AdManager\v202408\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.
- Создать новый проект
Откройте Visual Studio и создайте новый проект (консольное приложение).
- Добавьте необходимые ссылки на библиотеки в свой проект
Добавьте зависимость nuget для Google.Dfp .
- Настройте свой App.config
Скопируйте src\App.config в каталог вашего проекта и добавьте его в свой проект. Если ваше приложение имеет собственный App.config, вы можете скопировать в свой App.config следующие узлы:
- конфигурация/AdManagerApi
- конфигурация/configSections/section[name="AdManagerApi"]
- конфигурация/system.net
- Учетные данные настройки
Откройте 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" />
- Позвоните в библиотеку
Вы можете вызвать библиотеку, как показано в следующем фрагменте кода 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 или более поздней версии.
- Установите драгоценный камень 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
- Настройте свои учетные данные
Заполните обязательные поля в файле
~/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
- Напишите код и сделайте запрос!
# 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, :v202408) # 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.
Если вам нужна помощь, посетите нашу страницу поддержки .