Los desarrolladores pueden usar la API de Google Ad Manager para compilar aplicaciones que administren el inventario, creen pedidos, generen informes y mucho más.
La API de Ad Manager usa SOAP; para ayudarlo a comenzar, ofrecemos bibliotecas cliente para Java, .NET, Python, PHP y Ruby. Para realizar tu primera solicitud a la API, sigue estos pasos.
Cómo obtener acceso a una red de Ad Manager
Si aún no tienes una, regístrate para obtener una cuenta de Ad Manager. También puedes crear una red de prueba si deseas probar la API en un entorno separado. Ten en cuenta que no necesitas una cuenta de AdSense para pruebas.
Anota el código de red. Lo encontrarás en la URL cuando accedas a tu red. Por ejemplo, en la URL https://admanager.google.com/1234#home
, 1234
es tu código de red.
Crear credenciales de autenticación
Debe autenticar todas las solicitudes a la API de Ad Manager con OAuth2. En los siguientes pasos, se describe el caso práctico sencillo para acceder a tus propios datos de Ad Manager. Para obtener más detalles y otras opciones, consulta Autenticación.
- Abre la página de credenciales de la consola de la API de Google.
- En el menú del proyecto, elige Crear proyecto, ingresa un nombre para el proyecto y, de forma opcional, edita el ID del proyecto proporcionado. Haz clic en Crear.
- En la página Credenciales, selecciona Crear credenciales y, luego, Clave de cuenta de servicio.
- Selecciona Nueva cuenta de servicio y elige JSON como el tipo de clave.
- Haz clic en Crear para descargar un archivo que contenga una clave privada.
Cómo configurar su red de Ad Manager
- Accede a Google Ad Manager.
- En la barra lateral, haga clic en Administrador > Configuración global.
- En Configuración general > Acceso a la API, haz clic en el control deslizante para Habilitar.
- Haz clic en el botón Guardar en la parte inferior de la página.
Cómo configurar su cliente
Descargue una de las bibliotecas cliente de Ad Manager. Las bibliotecas ofrecen funciones de wrapper y funciones que facilitan el desarrollo de las aplicaciones y lo hacen más rápido.
Las pestañas a continuación proporcionan guías de inicio rápido para codificar en cada uno de los lenguajes para los que existe una biblioteca cliente.
Java
A continuación, se muestra un ejemplo básico que muestra cómo usar la biblioteca cliente de Java. Para obtener información de uso más detallada, consulta el archivo README en la distribución de la biblioteca cliente.
- Configura tus credenciales
Ejecuta el siguiente comando en una shell:
curl https://raw.githubusercontent.com/googleads/googleads-java-lib/master/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
Abre el archivo~/ads.properties
y propaga los siguientes campos:[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
Cómo especificar dependencias
Edita tu archivo
pom.xml
y agrega lo siguiente a la etiquetadependencies
. Puedes encontrar la versión más reciente en 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>
-
Escriban código y hagan una solicitud.
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.v202302.Network; import com.google.api.ads.admanager.axis.v202302.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
A continuación, se muestra un ejemplo básico que muestra cómo usar la biblioteca cliente de Python. La biblioteca cliente de Python es compatible con Python v3.6+. Para obtener información de uso más detallada, consulta el archivo README en la distribución de la biblioteca cliente.
- Instala la biblioteca y configura tus credenciales.
Ejecuta los siguientes comandos en una shell:
pip install googleads curl https://raw.githubusercontent.com/googleads/googleads-python-lib/master/googleads.yaml \ -o ~/googleads.yaml
- Configura el archivo
~/googleads.yaml
.Complete los siguientes campos:
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
Ejecuta código y realiza una solicitud.
# 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='v202302') # 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
A continuación, se muestra un ejemplo básico que muestra cómo usar la biblioteca cliente PHP.
-
Instala la biblioteca y configura las credenciales.
Ejecuta el siguiente comando en un shell para instalar la biblioteca cliente y descargar el archivo adsapi_php.ini en tu directorio principal:
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
-
Configura el archivo
~/adsapi_php.ini
.Complete los siguientes campos:
[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"
-
Ejecuta código y realiza una solicitud.
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202302\ApiException; use Google\AdsApi\AdManager\v202302\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
A continuación, se muestra un ejemplo básico que muestra cómo usar la biblioteca cliente de .NET.
- Crea un proyecto nuevo
Abre Visual Studio y crea un proyecto nuevo (es decir, la aplicación Console).
- Cómo agregar las referencias de biblioteca requeridas a tu proyecto
Agrega una dependencia de nuget para Google.Dfp.
- Configura tu app.config
Copia src\App.config al directorio de tu proyecto y agrégalo al proyecto. Si tu aplicación tiene su propio App.config, puedes copiar los siguientes nodos en App.config:
- configuration/AdManagerApi
- configuration/configSections/section[nombre="AdManagerApi"]
- configuración/sistema.net
- Credenciales de configuración
Abre App.config y edita las siguientes claves:
<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ómo realizar una llamada a la biblioteca
Puedes llamar a la biblioteca como se muestra en el siguiente fragmento de código de 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); }
Si no quieres establecer tus credenciales en App.config, consulta este artículo de wiki para conocer otras formas de usar la clase AdManagerUser. Para obtener información más detallada sobre el uso de la biblioteca cliente de .NET, consulta README. Si deseas desarrollar en .NET sin la biblioteca cliente, consulta el artículo de wiki de NoClientLibrary.
Ruby
A continuación, se muestra un ejemplo básico que muestra cómo usar la biblioteca cliente de Ruby. La biblioteca cliente de Ruby requiere Ruby 2.1 o una versión posterior.
-
Instale la gema de Ruby y obtenga el archivo de configuración.
Ejecuta los siguientes comandos en una shell:
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
-
Configura tus credenciales
Propaga los campos obligatorios en el archivo
~/ad_manager_api.yml
. Si aún no tienes un archivo de clave de OAuth2, deberás seguir los pasos para crear tus credenciales de OAuth2.:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
Escriban código y hagan una solicitud.
# 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, :v202302) # Make a request. network = network_service.get_current_network() puts "The current network is %s (%d)." % [network[:display_name], network[:network_code]]
Puedes encontrar pasos más detallados para comenzar en el archivo README que se distribuye con la biblioteca cliente de Ruby. Además, consulta nuestra biblioteca de ejemplo completa para Ruby.
Próximos pasos
Cuando tengas una biblioteca cliente en funcionamiento, modifica los ejemplos proporcionados para extenderlas según tus necesidades.
Explora la documentación de referencia para obtener más información sobre la API.
Si necesitas ayuda, visita nuestra página de asistencia.