This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Export CSV from Garmin Connectmiss avg temperature and fail to export max temperature

Hi.

When I export data (tracked by Edge 1000) to a csv - file, average temperature and maximum temperaturen are not included.

They are visible on Garmin Connect so they are recorded/tracked.

Is this a bug or is there any way to fix this?

  • You can write own function to print values in F12 -> Console.
    Values' names can be checked in the Network tab after loading some activity page.

    Example (for 10 latest activities):

    jQuery.getJSON(
        'https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=10',
        (act_list) => {
            act_list.forEach((act) => {
            jQuery.getJSON(
                'https://connect.garmin.com/modern/proxy/activity-service/activity/' + act.activityId,
                (a) => {
                    console.dir(a.activityId, a.activityName, a.summaryDTO.startTimeLocal, a.summaryDTO.averageTemperature, a.summaryDTO.maxTemperature)
                })
            })
        }
    )

  • Hi.

    Thanks for useful answer.

    I get a string representing a JSON file.

    Is there a way to store all events in an easy way - not taking them one by one and save as JSON file?

    And secondly a way to make a Python script to implement this javascript code?

  • It loads a number of activities (above it's limit=10, you can set more). It should print, for each activity, to the Console: Id, Name, startTime, averageTemperature, maxTemperature. So you can add other values and format how it should print them, like setting other separator between to create CSV and just copy/save that log from the Console.

    If you want to download full JSON and convert it locally, then just replace printing with downloading, there are other threads with such script. There were also some Python scripts.

  • Here above script with added downloading JSON.

    It should pop-up a download window (select to auto save without asking). You can also download JSON from the first link activitylist-service, it contains all activities, but some values are missing, so if you need those values, you need the second link activity-service.

    jQuery.getJSON(
        'https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=2',
        (act_list) => {
            act_list.forEach((act) => {
                jQuery.getJSON(
                    'https://connect.garmin.com/modern/proxy/activity-service/activity/' + act.activityId,
                    (a) => {
                        console.dir(a.activityId, a.activityName, a.summaryDTO.startTimeLocal)
                        f = document.createElement('a')
                        f.download = a.activityId + '.json'
                        f.href = window.URL.createObjectURL(new Blob([JSON.stringify(a)]))
                        f.click()
                    })
            })
        }
    )

  • Hi. Thanks a lot for your support.

    This works fine - a fine solution to me.