Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Universal Analytics Extractor

Herramienta en Python para extraer reportes de Universal Analytics (Google Analytics Reporting API v4) y exportarlos a CSV/Excel. Organizada en capas (domain · usecases · controller · infrastructure · view) para mantener la lógica de negocio separada del cliente de Google y de la presentación.

CI Python Google Analytics License

⚠️ Universal Analytics fue descontinuado por Google en 2024. Este proyecto sirve como referencia de integración con la Reporting API v4 y de exportación de datos analíticos.


🧱 Arquitectura

src/
├── domain/models.py                 # AnalyticsReport (entidad de configuración del reporte)
├── usecases/analytics_usecase.py    # Orquesta la obtención del reporte
├── controller/analytics_controller.py  # Coordina fetch + exportación a CSV/Excel
├── infrastructure/
│   └── google_analytics_client.py   # Cliente de la Reporting API v4 (service account)
└── view/console_view.py             # Salida por consola
main.py                              # Punto de entrada (configura y ejecuta un reporte)
scripts/                             # Utilidades sueltas (combinar CSVs, reestructurar carpetas)

🚀 Uso

1. Instala dependencias

python -m venv venv && source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt

2. Configura las credenciales

Crea un service account en Google Cloud con acceso a la Reporting API y dale permiso de lectura sobre la vista de Analytics. Luego:

cp src/controller/credentials.example.json src/controller/credentials.json
# pega el JSON real de tu service account en credentials.json (está en .gitignore)

3. Define el reporte y ejecuta

Ajusta VIEW_ID, fechas, métricas y dimensiones en build_report() dentro de main.py, y corre:

python main.py

El reporte se exporta a backup/<group>/<type>/<name>.csv.


🧪 Tests

pip install pytest
pytest

Cubren la entidad AnalyticsReport y el caso de uso (con cliente simulado), sin necesidad de credenciales ni de red. Corren en GitHub Actions.


🔐 Seguridad

Las credenciales reales (src/controller/credentials.json) están en .gitignore. Sólo se versiona la plantilla credentials.example.json. El entorno virtual y los reportes generados (backup/) tampoco se versionan.


🛠️ Stack

Python 3.12 · google-api-python-client · google-auth · pandas · openpyxl · pyfiglet


📄 Licencia

MIT

About

Proyecto para capturar información de UniversalAnalytics por api

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages