How to create/publish a calendar subscription?

I currently use subscribed calendars from https://fixtur.es/en/ to automatically put the games of my favourite teams in my calendar.

However, it seems that the data of https://football-data.org API is better (earlier up-to-date).

Now I would like to create/publish my own subscribed calendar using that API. How would I do that?

(I have an always on Raspberry Pi that I can reach from anywhere to act as the server)

NextCloud supports shared calendaring that can include public facing feeds. There’s a Raspberry Pi install - NextCloudPi.

If you can update an NC calendar from your API processing, that should cover it in theory. But as long as you can access a service that offers public calendar feeds such as Google Apps, Microsoft Exchange, etc. and can modify such a calendar from your API processing, then you don’t necessarily need to host your own NextCloud instance or similar.

Good point! I seem to be focusing on the wrong thing…

I use FastMail for my calendars and they do indeed offer Calendar Sharing.

In fact, sharing is less important to me. Most important is creating/updating the calendar.

Maybe I should start learning their new JMAP interface?

Hi Rob, on iOS this should actually be quite easy to do. Parse the JSON values through shortcuts into a calendar. And with iOS 13’s new triggers you could even do these scheduled I think. (I’m going to try now :-))

You can also use the new JSON parsing options in Keyboard Maestro. (if you have a Mac)

While creating might not be that hard, I’m not so sure about updating.

What if a game is postponed to a different date? How do I update an existing entry?

(Can I match the unique game ID from the API with the unique event ID from the calendar?)

(Additionally I want to add the result once a game has been played)

that might indeed be a bit harder.
I have a similar setup for omnifocus tasks that get added to my calendar through a KM macro. I just have that one delete all other entries in the calendar once it runs, and recreate the entries needed. But that might not be what you would want :slight_smile:

If I were using shortcuts I would probably use a similar setup.
start action - delete all entries - add new / updated entries.

just tested creating the entries in shortcuts app: changed an existing shortcut by adding “add calendar entry” for each repeat of the JSON parsing sequence, and it added all I needed to my calendar :slight_smile:

Thanks for the idea Rob!
I’m going to add a keyboard Maestro macro on my always on mac to clean the calendar out, and add an ssh shell command in the shortcut to trigger that, just need to figure out that workflow. (can also do that via a folder action I think, maybe easier and quicker).

Something to keep me busy over the weekend