Endomondo API: virtuele elfsteden wandeltocht 2020

Ingediend door Dirk Hornstra op 27-may-2020 16:01

De mensen die me volgen hadden waarschijnlijk een blog over alle nieuwe zaken van Microsoft verwacht, maar voor die twee en een halve dag aan sessies heb ik iets meer tijd nodig. Daarom een post over de virtuele 11-steden wandeltocht.

Want meestal loop ik 's avonds nog een blokje van ongeveer 5 kilometer, doordat ik deze dagen (ook tot 's avonds laat) achter de computer zat heb ik dat niet gedaan. Maar we weten allemaal dat bewegen goed voor je is, dus ik heb donderdag, vrijdag en zaterdag een eind gelopen ter compensatie. Ook door wat extra motivatie. Want de Leeuwarder Courant en De Friesland hebben de handen ineen geslagen, omdat door de corona-perikelen de elfsteden-wandeltocht niet gehouden kan worden is er nu een "virtuele activiteit" van gemaakt. Je moet nog wel steeds die kilometers echt lopen, maar dat doe je in je ééntje of met je vaste wandelpartner(s).

Ongeveer 20 kilometer per week, dat is best te doen. Als je elke dag een blokje van 5 kilometer loopt (ongeveer 1 uur), dan ben je op donderdag al klaar. En als je niet zo'n wandelaar bent kun je ook 5x op een dag een rondje van 1 kilometer lopen, zo kom je er ook ;)

Je kunt je afstanden zelf bij houden op papier, maar in Endomondo zijn de uitdagingen ook aangemaakt. En als je daar aan mee doet, dan heb je ook een ranglijst. Mocht je wat moeite hebben om van die bank af te komen, weer wat hoger op die ranglijst komen kan motiverend werken!

Nu staat die data in Endomondo. Dat kun je bekijken op je mobiel (je moet de app op je mobiel installeren, zodat je de kilometers bij kunt houden (vergeet niet je mobiel voor de tijd goed op te laden, zou zonde zijn als hij leeg is en de kilometers dus niet geteld worden)) of op je computer, laptop of tablet door naar de website van Endomondo te gaan.

Het leek me leuk om zelf een soort widget te maken die je op je website kunt plaatsen. Dus ik heb gezocht naar de API van Endomondo. En dat was een teleurstelling: die hebben ze niet! Je kunt wel een download aanvragen van al jouw workouts/gegevens in Endomondo via deze link, maar dan krijg je een e-mail met een link waar je de data kunt downloaden. Ik wil via een API kunnen inloggen, opvragen aan welke uitdagingen ik mee doe (je kunt namelijk ook per week een wandel-blok-uitdaging accepteren) en dat op je site tonen. Een zoekactie geeft me een Stackoverflow-post (link) en daarna ben ik zelf nog maar even gaan zoeken op Github en kwam daarbij dit project van Fabulator tegen: link. Dit was niet de juiste repo, deze erft namelijk van zijn andere project EndomondoApiBase, die repo staat hier: link. Ook kom ik nog een Github repo tegen met een stuk python-script: link. En omdat het ophalen van data niet lukt en je nog verder zoekt, vind je ook nog een C# project: link. En nog een stuk code met oAuth: link.

Daarmee kon je work-outs bekijken, ik ben de code aan uitwerken om uitdagingen (challenges) te kunnen bekijken.

Uiteindelijk is het gelukt. Niet helemaal zoals ik zelf graag zou willen, maar ik word dan ook beperkt door de niet publieke API van Endomondo. Je moet nu zelf de begindatum invullen, zodat ik aan de hand van de work-outs en de datum (en het type sport) kan bepalen of de afstand mee moet tellen met de uitdaging. Ik kan dus niet bepalen op welke plek van de ranglijst  je staat, het zij zo. Het gaat tenslotte om de afstand zullen we maar zeggen :)

Op mijn site heb ik uitleg staan waar je de widget kunt downloaden en hoe je de installatie-stappen moet doorlopen: https://solution4u.nl/wordpress-plug-in-endomondo-challenges/

En als je hem "in het echt" wilt zien, gewoon even op mijn website kijken, daar staat 'ie, in de sidebar! https://www.durkotheek.nl