Is there a way to download my calendar - including notes - to any parse-able file - probably json? I am keeping blood pressure readings in calendar notes. I would like to be able to use those in Power BI.
Is there a way to download my calendar - including notes - to any parse-able file - probably json? I am keeping blood pressure readings in calendar notes. I would like to be able to use those in Power BI.
You can link the Garmin Connect calendar with Google Calendar or with Office 365, and export it from there. Another option is using the raw JSON data of the GC calendar. You can access it using the following URL. You have to log into your GC Web account first. Adjust the year and month values in the URL accordingly.
https://connect.garmin.com/modern/proxy/calendar-service/year/2021/month/0
You can convert the JSON data to a different format easily - there are plenty of online tools available on the web. For example at http://convertcsv.com/json-to-csv.htm for CSV and Excel formats.
This JSON data contains only the note's title though, not the body of the note. The body is stored in a separate table, and would have to be queried using the note id.
Can you give me the query to get the body?
https://connect.garmin.com/modern/proxy/calendar-service/note/XXXXXXXXX
XXXXXXXXX = ID of the note from the main JSON
The information you gave me last month was working perfectly. But now I am getting an http 402 error. Any ideas?
Garmin added some extra security, and an additional header field needs to be passed with the HTTP request. The simplest way to do so, is by looking up the concerned data file with the help of DevTools of the browser (Ctrl+Shift+i or F12), use the Network tab to see the individual files requested on the calendar page, and pick up this one. You can then see the data in the Preview tab.
... alternatively, you can call the page with the following code in the Console of the DevTools (after having logged into Garmin Connect web on the main browser window):
jQuery.getJSON('https://connect.garmin.com/modern/proxy/calendar-service/year/2021/month/0');
Change the URL accordingly, to fit your needs, and then click the reply that appears underneath the HTTP request, to expland it. The data is then in the section responseJSON.