Advertisement
Guest User

gc-download-workout-2023

a guest
Jun 11th, 2023
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function downloadConnectWorkout() {
  2.     var href = location.href;
  3.     var s = "//connect.garmin.com/modern/workout/";
  4.     var i = href.indexOf(s);
  5.     if (i != -1) {
  6.         var id = href.substring(i + s.length);
  7.         var requestUrl = "https://connect.garmin.com/modern/proxy/workout-service/workout/FIT/" + id;
  8.  
  9.         var xhr = new XMLHttpRequest();
  10.         xhr.open("GET", requestUrl);
  11.         xhr.responseType = "arraybuffer";
  12.         xhr.onload = function () {
  13.             if (this.status === 200) {
  14.                 var blob = new Blob([xhr.response], {type: "application/octet-stream"});
  15.                 var objectUrl = URL.createObjectURL(blob);
  16.                 var a = document.createElement('a');
  17.                 a.href = objectUrl;
  18.                 a.download = id + ".FIT";
  19.                 document.body.appendChild(a);
  20.                 a.click();
  21.                 a.parentNode.removeChild(a);
  22.             } else {
  23.                 alert("Download failed: (" + this.status + ") " + this.responseText);
  24.             }
  25.         };
  26.         xhr.setRequestHeader("nk", "NT");
  27.         xhr.send();
  28.     } else {
  29.         alert("This script should be run from a Connect workout page")
  30.     }
  31. }
  32. downloadConnectWorkout();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement