lunes, 2 de enero de 2017

Google Adwords API Wrapper


Este post esta dirigido a software y data engineers o developers en general que deban utilizar la API de google adwords para realizar consumo de datos de google.

Muchas veces , las APIs de google brindan gran poder y flexibilidad al desarrollador pero esto acompañado de complejidad o poca claridad de implementación . Este es el caso de la API de Google adwords , para el escenario especifico de descargar datos de google desde una aplicación o un job programado automático, esta API impone cierta complejidad . Por esta razon creamos un Wrapper orientado a objetos en python que solo necesita una operación luego de instanciar un objeto:

descargar()


Esta operación recibirá de parametros la data que queremos descargar, las fechas deseadas, el formato del archivo de salida , y un flag booleano para indicar si se desea comprimir o no. Respecto al archivo de configuración googleads.yaml ,solo necesitamos indicar su ubicación como parametro al momento de instanciar el objeto(o bien usar el parametro default de Python el cual asumirá que el archivo se encuentra en el directorio home del usuario). De esta manera abstraemos la complejidad de programacion de la API de google adwords a 2 pasos(en pseudocodigo)
  1. Crear instancia de wrapper enviando de parámetro la ubicación del archivo de configuración.
  2. Ejecutar llamada a operación de descarga de datos enviando de parametro la data deseada, fechas requeridas, y formato de salida esperado.
Este wrapper puede ser integrado facilmente a cualquier aplicación, job automático, herramientas de integración de data(como SAP Data Services o Pentaho Data integration).

El codigo y un ejemplo de uso puede ser encontrado en el repositorio de github:


Autor: Luis Leal