En este instructivo, se explican los pasos necesarios para acceder a la API de Analytics Reporting v4.
1. Habilita la API
Para comenzar a usar la API de Analytics Reporting v4, primero debes usar la herramienta de configuración, que te guiará para crear un proyecto en la Consola de API de Google, habilitar la API y crear credenciales.
Crea credenciales
- Abre la página Cuentas de servicio. Si se te solicita, selecciona un proyecto.
- Haz clic en Crear cuenta de servicio y, luego, ingresa un nombre y una descripción para la cuenta de servicio. Puedes usar el ID predeterminado de la cuenta de servicio o elegir uno que sea único y diferente. Cuando hayas terminado, haz clic en Crear.
- No es obligatoria la sección de Permisos de cuenta de servicio (opcional) que aparece a continuación. Haz clic en Continuar.
- En la pantalla Otorga a usuarios acceso a esta cuenta de servicio, desplázate hacia abajo hasta encontrar la sección Crear clave. Haz clic en Crear clave.
- En el panel lateral que aparece, selecciona el formato para tu clave. Se recomienda el código JSON.
- Haz clic en Crear. Ya se generó y descargó el nuevo par de claves pública y privada en tu equipo, que será la única copia. Para obtener más información a fin de almacenarla de forma segura, consulta Cómo administrar claves para cuentas de servicio.
- Haz clic en Cerrar, en el diálogo Se guardó la clave privada en tu computadora, y luego haz clic en Listo para regresar a la tabla de tus cuentas de servicio.
Agrega una cuenta de servicio a la cuenta de Google Analytics
La cuenta de servicio recién creada tendrá una dirección de correo electrónico similar a esta:
quickstart@PROJECT-ID.iam.gserviceaccount.com
Usa esta dirección de correo electrónico para agregar un usuario a la vista de Google Analytics a la que deseas acceder a través de la API. Para este instructivo, solo se necesitan los permisos de lectura y análisis.
2. Instala la biblioteca cliente
Se recomienda usar pip junto con venv para instalar paquetes de Python: sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python-client pip install --upgrade oauth2client
3. Configura la muestra
Deberás crear un solo archivo llamado HelloAnalytics.py
, que contendrá el código de muestra dado.
- Copia o descarga el siguiente código fuente en
HelloAnalytics.py
. - Mueve el
client_secrets.json
descargado previamente al mismo directorio que el código de muestra. - Reemplaza el valor de
KEY_FILE_LOCATION
por la ruta de acceso adecuada al archivoclient_secrets.json
descargado. - Reemplaza el valor de
VIEW_ID
. Puedes utilizar el Explorador de cuentas para encontrar un ID de vista.
"""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 la muestra
Ejecuta la muestra con el comando siguiente:
python HelloAnalytics.py
Cuando termines estos pasos, la muestra mostrará la cantidad de sesiones de los últimos siete días para la vista determinada.
Solución de problemas
AttributeError: el objeto 'Module_six_moves_urllib_parse' no tiene el atributo 'urlparse'
Este error puede ocurrir en Mac OSX, donde la instalación predeterminada del módulo "seis" (una dependencia de esta biblioteca) se carga antes de la que instaló pip. Para solucionar el problema, agrega la ubicación de instalación de pip a la variable de 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
Agrega la siguiente línea a tu archivo
~/.bashrc
y reemplaza<pip_install_path>
por el valor determinado anteriormente:export PYTHONPATH=$PYTHONPATH:<ruta_de_instalación_pip>
Vuelve a cargar el archivo
~/.bashrc
en cualquier ventana de terminal abierta con el siguiente comando:fuente ~/.bashrc