Con la ayuda de este tutorial podrás seguir los pasos para acceder a la versión 4 de la API de informes de Analytics.
1. Habilitar la API
Para empezar a utilizar la versión 4 de la API de informes de Analytics, primero debes usar la herramienta de configuración, que te guiará por los pasos necesarios para crear un proyecto en la consola de APIs de Google, habilitar la API y crear las credenciales.
Crear credenciales
- Abre la página Cuentas de servicio. Si se te solicita, selecciona un proyecto.
- Haz clic en Create service account (Crear cuenta de servicio).
- En la ventana Crear cuenta de servicio, escribe el nombre de la cuenta de servicio y selecciona Suministrar una nueva clave privada. A continuación, haz clic en Guardar.
Se genera el par de claves pública/privada y se descarga en el equipo, lo que sirve de copia única de esta clave. Eres responsable de almacenarla de forma segura.
Añadir una cuenta de servicio a la cuenta de Google Analytics
La dirección de correo electrónico de la cuenta de servicio que acabas de crear será parecida a esta:
quickstart@PROJECT-ID.iam.gserviceaccount.com
Úsala para añadir un usuario a la vista de Google Analytics a la que quieras acceder a través de la API. En este tutorial solo se necesitan permisos de lectura y análisis.
2. Instalar la biblioteca de cliente
Puedes utilizar un administrador de paquetes o descargar e instalar la biblioteca de cliente Python manualmente:
pip
Usa pip, la herramienta recomendada para instalar paquetes de Python:
sudo pip install --upgrade google-api-python-client
Setuptools
Utiliza la herramienta easy_install incluida en el paquete setuptools:
sudo easy_install --upgrade google-api-python-client
Instalación manual
Descarga la última biblioteca de cliente para Python de la API de Google, desempaqueta el código y ejecuta este comando:
sudo python setup.py install
3. Configurar el código de muestra
Deberás crear un archivo llamado HelloAnalytics.py
, que contendrá el código de muestra indicado.
- Copia o descarga el siguiente código fuente en
HelloAnalytics.py
. - Traslada el archivo
client_secrets.json
descargado anteriormente al mismo directorio en el que se encuentra el código de muestra. - Sustituye los valores de
SERVICE_ACCOUNT_EMAIL
yKEY_FILE_LOCATION
por los valores adecuados de Developer Console. - Sustituye el valor de
VIEW_ID
por un ID de vista, que puedes obtener mediante el Explorador de cuentas.
"""Hello Analytics Reporting API V4.""" from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'] KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>' VIEW_ID = '<REPLACE_WITH_VIEW_ID>' def initialize_analyticsreporting(): """Initializes an Analytics Reporting API V4 service object. Returns: An authorized Analytics Reporting API V4 service object. """ credentials = ServiceAccountCredentials.from_json_keyfile_name( KEY_FILE_LOCATION, SCOPES) # Build the service object. analytics = build('analyticsreporting', 'v4', credentials=credentials) return analytics def get_report(analytics): """Queries the Analytics Reporting API V4. Args: analytics: An authorized Analytics Reporting API V4 service object. Returns: The Analytics Reporting API V4 response. """ return analytics.reports().batchGet( body={ 'reportRequests': [ { 'viewId': VIEW_ID, 'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}], 'metrics': [{'expression': 'ga:sessions'}], 'dimensions': [{'name': 'ga:country'}] }] } ).execute() def print_response(response): """Parses and prints the Analytics Reporting API V4 response. Args: response: An Analytics Reporting API V4 response. """ for report in response.get('reports', []): columnHeader = report.get('columnHeader', {}) dimensionHeaders = columnHeader.get('dimensions', []) metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', []) for row in report.get('data', {}).get('rows', []): dimensions = row.get('dimensions', []) dateRangeValues = row.get('metrics', []) for header, dimension in zip(dimensionHeaders, dimensions): print header + ': ' + dimension for i, values in enumerate(dateRangeValues): print 'Date range: ' + str(i) for metricHeader, value in zip(metricHeaders, values.get('values')): print metricHeader.get('name') + ': ' + value def main(): analytics = initialize_analyticsreporting() response = get_report(analytics) print_response(response) if __name__ == '__main__': main()
4. Ejecutar el código de muestra
Ejecuta el código de muestra con el siguiente comando:
python HelloAnalytics.py
Cuando finalices estos pasos, el código de muestra enviará el número de sesiones de los últimos siete días correspondiente a la vista indicada.
Solucionar problemas
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse' (El objeto 'Module_six_moves_urllib_parse' no tiene el atributo 'urlparse')
Este error puede ocurrir en Mac OSX, ya que la instalación predeterminada del módulo "six" (una dependencia de esta biblioteca) se carga antes de la que instala pip. Para solucionar el problema, agrega la ubicación de instalación de pip a la variable del entorno del sistema PYTHONPATH
:
Determina la ubicación de instalación de pip con el siguiente comando:
pip show six | grep "Location:" | cut -d " " -f2
Añade la siguiente línea de código a tu archivo
~/.bashrc
y sustituye<pip_install_path>
por el valor determinado en el punto anterior:export PYTHONPATH=$PYTHONPATH:<pip_install_path>
Vuelve a cargar el archivo
~/.bashrc
en cualquier ventana de terminal abierta mediante el siguiente comando:source ~/.bashrc