Вы можете использовать SOAP API Google Ad Manager для создания приложений, которые управляют рекламными щитами, создают заказы, формируют отчеты и многое другое.
Чтобы помочь вам начать работу, мы предлагаем клиентские библиотеки для Java, .NET, Python, PHP и Ruby.
Чтобы отправить свой первый API-запрос, выполните следующие шаги:
Получите доступ к сети Ad Manager.
If you don't already have one, sign up for an Ad Manager account . You can also create a test network if you want to test the API in a separate environment. Note that you don't need an AdSense account for test purposes.
Запишите свой сетевой код. Вы можете найти его в URL-адресе при входе в свою сеть. Например, в URL-адресе https://admanager.google.com/1234#home , 1234 — это ваш сетевой код.
Создать учетные данные для аутентификации
You must authenticate all Ad Manager SOAP API requests using OAuth 2.0. The following steps cover the use case of accessing your own Ad Manager data. For more details and other options, see Authentication .
В меню проекта выберите «Создать проект» , введите название проекта и, при желании, отредактируйте указанный идентификатор проекта. Нажмите «Создать» .
На странице «Учетные данные» выберите «Создать учетные данные» , затем выберите «Ключ учетной записи службы» .
Выберите «Создать учетную запись службы» и укажите
JSONв качестве типа ключа.Нажмите «Создать» , чтобы загрузить файл, содержащий закрытый ключ.
Настройте свою рекламную сеть в Ad Manager.
Войдите в Google Ad Manager.
В боковой панели нажмите «Администрирование» > «Глобальные настройки» .
В разделе «Общие настройки» > «Доступ к API» переведите ползунок в положение «Включено» .
Нажмите кнопку « Сохранить» внизу страницы.
Настройте свой клиент
Загрузите одну из клиентских библиотек Ad Manager . Эти библиотеки предлагают вспомогательные функции и возможности, которые упрощают и ускоряют разработку приложений.
На следующих вкладках представлены краткие руководства по началу работы с программированием на каждом из языков, для которых существует клиентская библиотека.
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
Here is a basic example that shows how to use the Python client library . The Python Client Library supports Python v3.6+. For more detailed usage information, refer to the README file in the client library distribution.
- Установите библиотеку и настройте свои учетные данные.
Выполните следующие команды в командной оболочке:
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 и создайте новый проект (консольное приложение).
- Добавьте необходимые ссылки на библиотеки в свой проект.
Добавьте зависимость NuGet для Google.Dfp .
- Настройте файл App.config.
Скопируйте файл src\App.config в каталог вашего проекта и добавьте его в проект. Если у вашего приложения есть собственный файл App.config, то вы можете скопировать следующие узлы в свой App.config:
- конфигурация/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); }
If you don't want to set your credentials in your App.config, then refer to this wiki article for alternate ways of using the AdManagerUser class. For more detailed information about using the .NET Client Library, refer to the README . If you want to develop in .NET without the client library, please refer to the NoClientLibrary wiki article .
Ruby
Вот простой пример, демонстрирующий использование клиентской библиотеки Ruby . Для работы клиентской библиотеки Ruby требуется Ruby версии 2.1 или более поздней.
- Установите Ruby-гем и получите конфигурационный файл.
Выполните следующие команды в командной оболочке:
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 ознакомьтесь с справочной документацией .
Если вам нужна помощь, посетите нашу страницу поддержки .