Dette prosjektet er en Python-klient for å koble seg opp mot Strava sitt API.
Systemet lar deg autentisere med dine egne Strava-nøkler, hente tokens og bruke disse til å kjøre spørringer mot Strava-data (f.eks. aktiviteter).
StravaKlient, som kan utvides med flere funksjoner (hente aktiviteter, segmenter osv.).pip install -r requirements.txt):
requestsLag Strava API-tilgang
Gå til: Strava API Settings
Følg instruksjonene for hvordan du setter opp eget API.
Her finner du din Client ID og Client Secret.
Sett opp et API med følgende redirect URI:
http://localhost
Kopier dine nøkler inn i prosjektet
Første gang må du selv opprette filen strava_tokens.json i rotmappen. Den skal ligge i .gitignore slik at dine private nøkler aldri pushes til GitHub.
Kodene du må legge inn er:
client_idclient_secretauthorization_code (se neste seksjon)Første gang må du hente en authorization code fra Strava:
🌐 Åpne denne lenken i nettleseren, og erstatt ID med din client_id:
https://www.strava.com/oauth/authorize?client_id=ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=read_all,activity:read_all
🔓 Logg inn og trykk Authorize.
↪️ Du blir videresendt til en ugyldig side, med en URL som ligner: http://localhost/?state=&code=AUTHORIZATION_CODE&scope=read,activity:read_all,read_all
📋 Kopier verdien fra code=.... Dette er din authorization_code.
Legg den inn i strava_tokens.json (se Oppsett).
⚠️ Viktig:
authorization_code er en engangskode (kun gyldig én gang).access_token (kortvarig) og refresh_token (langvarig).Når strava_tokens.json er satt opp, kan du starte programmet:
python main.py
Ved oppstart vil systemet:
📖 Lese dine nøkler fra strava_tokens.json.
⏳ Hvis access_token mangler eller er utløpt → hente nytt token via Strava API.
💾 Oppdatere strava_tokens.json med nye tokens.
Prosjektet er organisert slik:
STRAVA-ANALYSE/
│
├── main.py # ▶️ Startpunkt – oppretter Strava-klient
├── privat.py # 🔐 Klasse for håndtering av lokal token-fil
│
├── python/
│ ├── tilgang.py # 🔄 Funksjoner for å hente/oppdatere tokens
│ └── strava.py # 🚴 Strava-klient (inngangspunkt til API)
│
├── strava_tokens.json # 🔑 Privat fil med API-nøkler og tokens (i .gitignore)
├── requirements.txt # 📦 Avhengigheter
└── README.md # 📑 Dokumentasjon