I'm aware of the following methods of adding a Google Calendar:
- Show embedded calendar, hit the +Google Calendar button:
- Go to Calendar Settings.
- Copy the "Public URL to this calendar" such as
https://calendar.google.com/calendar/embed?src=foo%40example.com
. - When the user taps the link, they will see an embedded version of the calendar. They would then tap the bottom right +Google Calendar button and it'll be added to their calendar.
- Give the user the "Calendar ID" email address:
- Go to Calendar Settings.
- Under "Integrate calendar," copy the "Calendar ID" such as
[email protected]
- The user would then open their Google Calendar, and under "Add a friend's calendar," they would enter that long email address.
- Add a shared resource:
- Hit the plus button near "Add a coworker's calendar"
- Hit "Browse resources"
- Add a calendar from the list
However, all of these methods are multi-step and less than ideal. I just noticed that there is a 3rd, more optimal way. There's an ability to create a link of the form https://calendar.google.com/calendar?cid=ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t
. Upon tapping on a link like that, it displays the calendar in the user's google calendar (or prompts them to add the calendar).
I tried substituting my "Calendar ID" in place of the "cid," e.g. https://calendar.google.com/[email protected]
but this produces an invalid link with the following error message:
Sorry
This email address isn't associated with an active Google Calendar account: [email protected]. Please check the email address and try again.
Even if I try escaping the @
sign with %40
(https://calendar.google.com/calendar?cid=en.christian.holiday%40group.v.calendar.google.com
), I get the same error message.
How do I get my calendar's cid
so that others can add it with a single click on a link?