I went to AWS Reinvent this year, and I wanted my registered events to show up on my personal calendar. I’m honestly surprised they didn’t implement an iCal export for your registered events. So I took these steps to get them.
Getting the Information
-
I used the network inspector to find a response that had my events on the calendar page. It seems to be one of the graphql calls shown in the inspector.
-
I then copied and pasted the response into a text file, and used
jq
to explore the information. I found that my events were separated into 2 fields,mySessions
andmyFavorites
.
This gave me my information as a JSON file that I can import into NodeJS.
Building the iCal file
I decided to use NodeJS for this, because it’s relatively easy to find
an iCal library, and I can easily load my JSON file via
require
. I then just simply mapped the event entries to their proper
locations per the library. I also needed to add a timezone since the
JSON from the graphql used UTC time, and I wanted it to show up as the
given timezone. You can peruse the code below for details.
The saved iCal file can then be exported into Google calendar via their import feature or served up from a HTTP endpoint. I personally prefer to serve it up from the endpoint, as then the events can’t be moved around.
However, I encountered some weirdness with sessions that were moved or something showing up in the wrong location, but overall it worked very well.