✅ OPCIÓN 1 — Manual (para exportaciones puntuales)

1. Entra en Strava y accede a tus actividades

👉 https://www.strava.com/athlete/training

2. Exporta tus datos

Strava te permite descargar todos tus datos históricos en CSV.

👉 Paso a paso:

Ve a https://www.strava.com/settings/data_export

Solicita la exportación de tus datos completos (incluye actividades, rutas, zonas de ritmo cardíaco, etc.)

En unos minutos/horas, recibirás un correo con un ZIP. Dentro encontrarás:

/activities/activities.csv

Archivos .gpx, .tcx o .fit de cada actividad.

3. Importa a Google Sheets

Descomprime el archivo ZIP

Abre Google Sheets

Archivo > Importar > Subir > selecciona el archivo activities.csv

Elige "Reemplazar hoja" o "Insertar nueva hoja"


✅ OPCIÓN 2 — Automática (ideal para mantener datos actualizados)

Strava ofrece una API oficial que permite importar tus actividades directamente. Para esto necesitas crear una App y usar Google Apps Script.


🧩 Paso a paso para conectar Strava con Google Sheets (usando API)

1. Crea tu aplicación en Strava

Ve a https://www.strava.com/settings/api

Crea una nueva app

Nombre: lo que quieras

Website:https://google.com (o tu dominio)

Authorization Callback Domain: script.google.com

Copia tu Client ID y Client Secret

2. Obtén tu token de acceso (primer login)

Usa esta URL en tu navegador (cambia los valores client_id y redirect_uri):

ruby

CopiarEditar

https://www.strava.com/oauth/authorize?client_id=TU_CLIENT_ID&redirect_uri=https://script.google.com/macros/d/TU_SCRIPT_ID/usercallback&response_type=code&scope=activity:read_all


Autoriza la app → Te redirigirá con un code=XXXX

Con ese código, haz un POST a:

arduino

CopiarEditar

https://www.strava.com/oauth/token


Con esta estructura (puedes usar Postman o cURL):

json

CopiarEditar

{

"client_id": "TU_CLIENT_ID",

"client_secret": "TU_CLIENT_SECRET",

"code": "CÓDIGO_OBTENIDO",

"grant_type": "authorization_code"

}


Esto te devolverá un access_token y un refresh_token.


3. Script de Google Apps Script para importar actividades

javascript

CopiarEditar

const ACCESS_TOKEN = 'TU_ACCESS_TOKEN';


function getStravaActivities() {

const url = 'https://www.strava.com/api/v3/athlete/activities?per_page=50&page=1';

const options = {

headers: {

Authorization: `Bearer ${ACCESS_TOKEN}`

}

};


const response = UrlFetchApp.fetch(url, options);

const activities = JSON.parse(response.getContentText());


const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Strava') || SpreadsheetApp.getActiveSpreadsheet().insertSheet('Strava');

sheet.clear();


const headers = ['Name', 'Distance (km)', 'Moving Time (min)', 'Type', 'Date'];

sheet.appendRow(headers);


activities.forEach(activity => {

sheet.appendRow([

activity.name,

(activity.distance / 1000).toFixed(2),

(activity.moving_time / 60).toFixed(1),

activity.type,

activity.start_date_local

]);

});

}


📌 Puedes programarlo para que se actualice automáticamente: Ve a Extensiones > Apps Script > Reloj (trigger) y elige una frecuencia (diaria, por ejemplo).


📊 ¿Qué métricas puedes importar?

Nombre de la actividad

Fecha y hora

Distancia (en metros)

Tiempo en movimiento

Tipo de actividad (Run, Ride, Walk, etc.)

Ritmo medio, cadencia, elevación, calorías, etc. (según permisos)


🎯 ¿Qué puedo hacer con los datos?

Crear gráficos de progreso mensual

Comparar running vs ciclismo

Sumar kilómetros por semana

Calcular calorías totales

Crear un dashboard de rendimiento


🧠 Consejo de eficiencia

Usa Google Sheets solo como visor y backup. Para análisis complejos, puedes conectar ese mismo Sheet con Looker Studio o exportar a Notion/Obsidian vía APIs.