May 082012
 

(read this post in english)

En este artículo vamos a comentar la manera de usar la versión v201109 del API de Google Adwords en Perl. En la exposición que sigue suponemos que ya contamos con una cuenta de Adwords, y que hemos creado ya alguna campaña que contiene algunos adgroups.

Instalación de la librería Perl del API de AdWords

Comenzamos por descargarnos la librería desde el sitio web de google: http://code.google.com/p/google-api-adwords-perl/downloads/list Cuando accedemos a la url arriba indicada, vemos que la última versión de la librería es el fichero awapi_perl_lib_2_5_6.tar.gz.

Una vez descargada y descomprimida, procedemos a su instalación executando los siguientes pasos en el directorio en donde se ha extraído:

1. Identificación de dependencias a instalar

En nuestra instalación, la salida de este comando es:

2. Instalación de dependencias

Como usuario root, ejecutamos:

3. Instalación del módulo

A continuación, vamos a probar un programa perl que obtiene los identificadores de las campañas existentes en nuestra cuenta adwords.

Estructura del programa

En la línea cinco se indica la ubicación en donde hemos depositado la librería. A continuación se incluyen los distintos módulos que vamos a utilizar de la librería, y después viene la definición de la rutina “get_campaigns”, que comentamos más adelante. Por último tenemos el programa principal en donde se establece la conexión con el servidor de AdWords, y se llama a la rutina “get_campaigns”.

Validación del cliente adwords

Para obtener una conexión al servidor de Adwords hacemos la llamada:

en donde como vemos sólo hemos especificado la versión del API que vamos a utilizar. El resto de la información necesaria para validar el cliente se encuentra en el fichero “adwords.properties” en el directorio de login del usuario. Este fichero es de la forma:

Alternativamente, es posible pasar toda la información de validación necesaria mediante argumentos en la llamada a Client->new , siendo innecesario en este caso el fichero “adwords.properties”:

Subrutina “get_campaigns”

En primer lugar, creamos un selector genérico, en el que inidicamos los campos que queremos obtener, y los criterios de búsqueda, ordenación y paginación de los resultados.

Después, aplicamos el selector al método $client->CampaignService->get(), y presentamos en pantalla los resultados. En la primera llamada a get(), obtenemos un máximo de PAGE_SIZE resultados, en donde PAGE_SIZE es una constante que hemos definido al principio del programa.

Repetimos la llamada a CampaignService.get() (habiendo actualizado los valores de la variable $paging que utiliza el selector), hasta obtener todos los resultados.

Obtener todos los adgroups de una campaña

En el ejemplo anterior hemos visto como recuperar todas las IDs de las campañas existentes en la cuenta. Si queremos  obtener los adgroups de una campaña, el código es muy similar, con la diferencia de que:

  • Llamamos al método $client->AdGroupService()->get() en vez de a
    $client->CampaignService->get()
  • En el selector, incluimos un filtro para seleccionar sólamente los adgrupos de una campaña, identificada por su id de campaña.
    Para definir el filtro, creamos un objeto ‘predicate’ que contiene las condiciones del filtro
Ejemplo:

 Publicado por en 7:14 pm

  2 Respuestas a “Cómo usar el API de Google Adwords en Perl”

  1. […] un artículo anterior hemos visto cómo se pueden desarrollar scripts perl de administración automatizada de campañas de Google Adwords, utilizando la librería Perl que implementa el API de acceso a Google […]

 Deja un comentario

(requerido)

(requerido)