С помощью Google Менеджера рекламы SOAP API можно создавать приложения для управления инвентарем, создания заказов, получения отчетов и т. д.
Чтобы вам было проще приступить к работе, мы предлагаем клиентские библиотеки для Java, .NET, Python, PHP и Ruby.
Чтобы отправить первый запрос к API, выполните следующие действия:
Как получить доступ к сети Менеджера рекламы
Если у вас его нет, то сначала создайте его. Вы также можете создать тестовую сеть, чтобы проверить работу API в отдельной среде. Обратите внимание, что для тестирования аккаунт AdSense не требуется.
Запишите код сети. Его можно найти в URL после входа в аккаунт. Например, в URL https://admanager.google.com/1234#home кодом сети является 1234.
Создайте учетные данные для аутентификации
Все запросы к Ad Manager SOAP API должны проходить аутентификацию с помощью OAuth 2.0. Ниже описано, как получить доступ к собственным данным Менеджера рекламы. Подробные сведения и другие варианты приведены в разделе Аутентификация.
В меню проекта выберите Создать проект, введите название проекта и при необходимости измените идентификатор проекта. Нажмите Создать.
На странице Credentials (Учетные данные) нажмите Create credentials (Создать учетные данные) и выберите Service account key (Ключ сервисного аккаунта).
Выберите Новый сервисный аккаунт и укажите
JSONв качестве типа ключа.Нажмите Создать, чтобы скачать файл с закрытым ключом.
Как настроить сеть Менеджера рекламы
Войдите в Google Менеджер рекламы.
На боковой панели нажмите Администрирование > Глобальные настройки.
В разделе Общие настройки > Доступ через 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.v202608.Network; import com.google.api.ads.admanager.axis.v202608.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 версии 3.6 и выше. Подробные сведения об использовании приведены в файле README в дистрибутиве клиентской библиотеки.
- Установите библиотеку и настройте учетные данные.
Выполните в оболочке следующие команды:
python3 -m pip install googleadscurl 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='v202608') # 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-libcurl 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\v202608\ApiException; use Google\AdsApi\AdManager\v202608\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 и создайте проект (Console Application).
- Добавьте в проект ссылки на необходимые библиотеки
Добавьте зависимость nuget для Google.Dfp.
- Настройка файла App.config
Скопируйте файл src\App.config в каталог проекта и добавьте его в проект. Если у вашего приложения есть собственный файл App.config, вы можете скопировать в него следующие узлы:
- configuration/AdManagerApi
- configuration/configSections/section[name="AdManagerApi"]
- configuration/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 и получите файл конфигурации.
Выполните в оболочке следующие команды:
gem install google-dfp-apicurl 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, :v202608) # 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 можно найти в справочной документации.
Если вам нужна помощь, посетите страницу поддержки.