Gracias a la versatilidad del lenguaje de programación Python, mediante una librería, podemos conectarnos a la API de Google Analytics para por ejemplo descargar los datos.
La ventaja es poder programar un script que descarge los datos y bien nos lo guarde en una hoja de cálculo, o insertar a una base de datos, etc,… (es la ventaja de la versatilidad de dicho lenguaje de programación)
Disponemos de una librería oficial por parte de Google y otra creada por Debrouwere.
Instalación librería Debrouwere
El primer paso es instalar la librería «google-analytics» en Python:
pip install googleanalytics
En nuestro programa importamos la librería:
import googleanalytics as ga
Para empezar a trabajar, primero necesitamos autorizar el proyecto para usar la cuenta de Analytics, para lo cual podemos ejecutar el siguiente comando desde la consola de Python:
import googleanalytics as ga ga.authenticate(identity='myproject', interactive=True, save=True)
Con esto empezará una sesión «interactiva» (mediante navegador web) para iniciar sesión y autorizar el uso.
Una vez autorizado nos aparecerá en nuestra consola de Python:
Authentication flow completed. You may close the browser tab
Ahora tocará autentificar el script con la cuenta de Analytics. Para ello siguiendo el consejo copiaremos el siguiente código. Ten en cuenta que tienes 2 opciones:
import googleanalytics as ga # if you authorized via the command-line or added the `save=True` keyword # argument you can log in by specifying just your identity accounts = ga.authenticate(identity='myproject') # alternatively, specify everything by hand # (note: putting secrets right inside your code is not the # safest thing to do) accounts = ga.authenticate( client_id='....apps.googleusercontent.com', client_secret='...', refresh_token='...', )
Otra opción (y para mi la recomendada) es utilizar el fichero «json» que nos podemos descargar desde la consola de «Credenciales» de nuestro proyecto en «Google». Para ello tenemos que usar el siguiente código en nuestro programa de Python:
import os import json import googleanalytics as ga if os.path.exists('credentials.json'): credentials = json.load(open('credentials.json')) else: # authorize your code to access the Google Analytics API # (this will be interactive, as you'll need to confirm # in a browser window) credentials = ga.authorize() # turn the credentials object into a plain dictionary credentials = credentials.serialize() json.dump(credentials, open('credentials.json', 'w')) ga.authenticate(**credentials)
Ahora toca seleccionar la cuenta y perfil con el que queremos trabajar, para ello con el siguiente código seleccionamos el perfil de Analytics. Para saber la cuenta/propiedad/perfil, podemos entrar en la web de Analytics y verlas:
import googleanalytics as ga profile = ga.authenticate( identity='myproyect', interactive = True, save = True, account='debrouwere.org', webproperty='http://debrouwere.org', profile='debrouwere.org' )
Por último para ver que todo ha funcionado, una función rápida para sacar el valor total (suma) de las páginas vistas de ayer:
pageviews = profile.core.query.metrics('pageviews').range('yesterday').value print(pageviews)
El código resultante de nuestro programa quedaría así:
import os import json import googleanalytics as ga if __name__ == '__main__': profile = ga.authenticate( identity='miproyect', interactive = True, save = True, account='Mi Cuenta', webproperty='Mi Propiedad', profile='Mi Perfil' ) pageviews = profile.core.query.metrics('pageviews').range('yesterday').value print(pageviews) report = profile.core.query.metrics('pageviews').range('2015-10-01', '2015-10-31').get() print (report['pageviews'])
Bibliografía:
- https://developers.google.com/analytics/devguides/config/mgmt/v3/quickstart/installed-py?hl=es#enable
- https://github.com/debrouwere/google-analytics