This script can be used to extract iCloud calendar URLs. As a prerequisite the calendars must be visible in your local Calendar.app or iCloud preference pane.
The calendar configuration is stored in ~/Library/Calendars
with sub folders for individual calendars.
Example output:
> icloud-calendars
/Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/Info.plist
calendar base url: https://p05-caldav.icloud.com/1234567890/principal/
Calendar: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-222222222222/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-222222222222/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-222222222222.calendar/Info.plist)
Family: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-333333333333/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-333333333333/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-333333333333.calendar/Info.plist)
Private: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-444444444444/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-444444444444/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-444444444444.calendar/Info.plist)
☞Library Loans: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-555555555555/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-555555555555/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-555555555555.calendar/Info.plist)
Office: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-666666666666/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-666666666666/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-666666666666.calendar/Info.plist)
Reminders: /1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-777777777777/
url https://p05-caldav.icloud.com/1234567890/calendars/DDDDDDDD-EEEE-1234-FFFF-777777777777/
(defined in /Users/myuser/Library/Calendars/XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB.caldav/DDDDDDDD-EEEE-1234-AAAA-777777777777.calendar/Info.plist)
Store the file in ~/bin/icloud-calendars
and make it executable using chmod +x icloud-calendars
. Then it can simply be run as icloud-calendars
or ~/bin/icloud-calendars
if ~/bin
is not on the $PATH
.