I'd like to find any runs that I neglected to assign shoes to and go back and assign shoes, so I can better track shoe mileage.
I don't see a search option to find runs with no gear.
I'd like to find any runs that I neglected to assign shoes to and go back and assign shoes, so I can better track shoe mileage.
I don't see a search option to find runs with no gear.
Here.
Use in web-browser console (shortcut is F12 key) after opening Connect website. Tested in Firefox.
If you have more activities, change limit=200.
jQuery.getJSON( 'https://connect.garmin.com…
The script is basically still ok, but new headers are required:
jQuery.ajaxSetup({headers:{ 'DI-Backend':'connectapi.garmin.com', 'Authorization':'Bearer '+JSON.parse(localStorage.token).access_token…
It still works, of course need to be logged in, and it checks activities one by one from newest, so if some old activity has missing gear, then it will take some time to reach it, a good idea is to add…
There isn't such a search option. You'll just have to use the arrow keys to flip through each activity record, and 'eyeball' the shoe icon to identify which ones don't have shoes assigned, if fixing up records retrospectively to make up for past neglect is important to you now.
Some solution is to list activities to get IDs using:
connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=20&start=0
To list all activities, set the limit higher (ex. 100) - or download by parts using start (a number from where to start listing, by default it's 0, so from the latest activity to 20).
.
Then check if there is a gear for an activity by ID:
connect.garmin.com/modern/proxy/gear-service/gear/filterGear?activityId=###
.
Somebody could make a script to check it automatically.
Here.
Use in web-browser console (shortcut is F12 key) after opening Connect website. Tested in Firefox.
If you have more activities, change limit=200.
jQuery.getJSON( 'https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=200', function(act_list) { act_list.forEach( function(act) { jQuery.getJSON( 'https://connect.garmin.com/modern/proxy/gear-service/gear/filterGear?activityId=' + act['activityId'], function(gear) { if(gear.length === 0) { console.dir(act['activityId'], act['activityName'], act['startTimeLocal']); } } ); } ); } );
It still works, of course need to be logged in, and it checks activities one by one from newest, so if some old activity has missing gear, then it will take some time to reach it, a good idea is to add filters to the search link as proposed above.
Open Garmin Connect: Log in to your Garmin Connect account in your web browser.
Open Developer Console:
Ctrl+Shift+I
(or Cmd+Option+I
on macOS).Ctrl+Shift+I
(or Cmd+Option+I
on macOS).Copy and Paste the Script: Copy the entire script you provided and paste it into the developer console's "Console" tab.
jQuery.getJSON(
'connect.garmin.com/.../activities
function(act_list)
{
act_list.forEach(
function(act)
{
jQuery.getJSON(
'connect.garmin.com/.../filterGear + act['activityId'],
function(gear)
{
if(gear.length === 0)
{
console.dir(act['activityId'], act['activityName'], act['startTimeLocal']);
}
}
);
}
);
}
);
Press Enter: After pasting the script, press Enter to run it.