OK - I’ve made a lot of progress on this tonight, so I will share the key step that enabled me to make that progress, in case anyone else is struggling to get iCalendar to work with iCloud calendars: there’s a tiny but crucially important missing step in using the public calendar technique as mentioned in Small Guide to icalendar.
The original post says you should replace “webcal:” with “http:” or “https:”. And that’s true - you do need to replace it with https:. But you ALSO need to replace another part of the URL.
For example, the original URL might be:
webcal://p47-caldav.icloud.com/published/2/AAAAAABCDEFgHiJKlmnop
But the URL you will need to put in the iCalendar thing is:
https://p47-calendars.icloud.com/published/2/AAAAAABCDEFgHiJKlmnop
If you don’t make the second replacement, it gives a 404 error. But if you replace both… sweet, sweet calendar data!
It’s not authenticated access yet, so technically I’ve had to make those calendars “public” in order to use them… but presumably if I’m not trading in state secrets, the chances of anyone stumbling across the full sharing URL (if I don’t put it anywhere but in a .things file) is pretty minimal.