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

How to filter activities by Course?

I bet I've seen and used that feature in the past.
Can't find it now.


Was it removed?


  • A few years ago, before the complete overhaul of Garmin Connect, it was possible to filter workouts based on the course. I alerted the "Development" team about this and left a message on the forum explaining that it was a regression, a step backward: they were indeed removing a feature that had its usefulness. What's the usefulness ? Well, it's the ability to compare workouts on the same route performed multiple times. From a sports perspective, this is essential and the minimum one can expect from this feature. Why have Garmin developers never reinstated this field in the advanced filters ? It's a mystery ! It's incomprehensible ! And I have never - I mean never - received a response from them on this matter. All of this is not very professional, it feels a bit like "patchwork," and it indicates Garmin's lack of commitment to making the Garmin Connect platform a genuine tool for athletes and workout management. It's lamentable.

  • associatedCourseId is available in /activity-service/activity/
    but not in /activitylist-service/activities/
    so it's only for chosen activity, but not for list, so filters don't see it.

    Choice for values is strange though, vO2MaxValue is available on activitylist, but not on activity.

     

    You can make a script for that, but will be slow as it needs to check each activity separately:
    Recording times against a course.

    Other options is to use Segments or, as mentioned earlier, add a course to a title.

  • This is a regression compared to what existed before. Comparison is possible but not on a course, and only on a few activities. Indeed, one can include an element of the course in the title. Personally, I work around the issue by using the 'Note' field (= 'How did it go?' / 'Add a note' in the application) and adding the name of the course or a distinctive word related to that course. Then, the full-text search works... But it's so cumbersome! Garmin, you're not up to par (except for selling watches as expensive as laptops).

  • hey @BunBun! I've been trying to apply the new header requirements to your old Recording times against a course console script, but Garmin Connect kicks me out each time, any idea what I'm missing (I'm not really an experienced front end developer, so pardon my dumb mistakes):

    jQuery.ajaxSetup({headers:{
     'DI-Backend':'connectapi.garmin.com',
     'Authorization':'Bearer '+JSON.parse(localStorage.token).access_token
    }})

    jQuery.getJSON(
     'https://connect.garmin.com/activitylist-service/activities/search/activities?limit=200',
     all => all.forEach( a =>
      jQuery.getJSON(
                'https://connect.garmin.com/modern/proxy/activity-service/activity/' + a.activityId,
                function (act_details) {
                if (act_details['metadataDTO']['associatedCourseId'] === 111111) {
                    console.dir(act['activityId'], act['activityName'], act['startTimeLocal'], act['distance'], (act['duration'] / 60).toFixed(2) + ' minutes');
                }
            }
      )
     )
    )

  • You almost got it.

    Links were also simplified, so remove modern/proxy from the second.

    And keep one name for variable inside loop: forEach( a => is using a, so change act to a or vice versa.

  • works like a charm! Thanks so much!