How to sync your google calendar with ical in osx lion, mountain lion and Mavericks

In osx snow leopard it was possible to get multiple google calendars in your ical without using the delegates functionality.

In osx lion and later it’s not possible (that I know of, and I have tried) without using the delegates functions. In osx lion and onwards (mountain lion / mavericks) you might notice that you can only see your primary google calendar. To fix this you will need to use delegates.

If you don’t yet have a google calendar setup in ical yet, then its easy to sync your google calendar with ical:

open ical, goto ical menu > preferences

goto accounts > click the + at the bottom left corner

pick ‘google’ as the type

fill in your google calendar username and password

Once you have your account setup then you will notice that it hasn’t imported every calendar.

From a page that’s well hidden in the google forums and is actually to do with iPhones (I needed to do this step to get the delegates to show on my mac anyway…)

By default only your primary calendar will be synced to your device. You can sync additional calendars by visiting the following page from any web browser:

https://www.google.com/calendar/iphoneselect
(Google Apps users can go to https://www.google.com/calendar/hosted/your_domain/iphoneselect, replacing ‘your_domain’ with your actual domain name.)
Select the calendars you’d like to sync, and click Save. The selected calendars will display on your device at the time of the next sync.

You need to visit that page from your mac, and click all the calendars you want to sync.

Once you have selected the calendars you want, return to ical

ical preferences > accounts

click on your google calendar account

goto the delegation tab

you will now see all of your google calendars.

tick the ones you want

You will now have all of your google calendars in your ical on osx lion!

How to show multiple google calendars in osx snow leopard only:

These instructions will tell you what a delegate is, how to get rid of it if you need to, and how to get your ical and iphone to be properly in sync with multiple top-level calendars.

I just had a look at the top keywords for the last 7 days. Not surprisingly there are lots of entries for ‘ical delegates’, ‘google calendar’ + ‘delegates’, ‘what are ical delegates’ etc. so, I had a look at the stuff I did with google calendar, syncing it to your mac’s ical and thought the explanation was a little poor.

First off, what is a delegate, and why should you be concerned about them:

A delegate is basically any calendar that’s not your main one. You should be concerned because if you add a google calendar to your ical then all the sub calendars appear as delegates.

So if I have a calendar named ‘work’ and one named ‘personal’ and one named ‘gigs to see’ then ‘work’ would be the main one (the main one is the first calendar you made) and ‘personal’ and ‘gigs to see’ would be delegates.

Repeat with each calendar in your google calendar by making a new account in ical for each calendar you have in google calendar. remembering to remove the @gmail.com part if this is not the main calendar for your account

Sync your google calendar with ical: FAQ

Is there a way to merge the different google calendars under one header?

this works for me, except that my calendars are not appearing under one accounts, it is creating a new header for each calendar, how do I fix this?

I’ve not found a way to make them all appear in one ical calendar. They are all separate calendars listed down the side, but they usually come up with the name they were given in google calendars. I think the easiest way would be to go into google calendars and rename them to easy things. I have one called personal calendar, one called cycle calendar, one called work, etc. you can get them all to display in ical at the same time by ticking the small boxes. Each calendar will be a different colour =)

I am confused; do we paste only the calendar id from google calendar and nothing else into the server address box?

You need to put this in the server address:
https://www.google.com/calendar/dav/
before the
randomstring@group.calendar.google.com/user
so that it looks like
https://www.google.com/calendar/dav/randomstring@group.calendar.google.com/user
you need to do this for every calendar that you want to appear

The problem with having different headers for you calendars is that it doesn’t let you switch an event from one calendar to another by simply changing the tab. Now you have to delete it and create it in another calendar. I don’t see why they would make it so hard. Can’t we organize our own calendars on the side?

You can move an event from one calendar to another in ical by right clicking it and going to edit. It will have calendar: and the calendar name. Click on that and you can change the calendar =)

These instructions don’t help you sync from ical to google calendar right? They just sync from google to ical??

If you have the iphone setup to sync your contacts, sync your google calendar with ical and mail from google (check out how to sync your google calendar to your iphone calendar here) then any event you add to any calendar (on your mac, on your iphone or via google calendar – or by any other method that adds the event to any of the devices) will be synced to every one of the other devices. That way I can automatically add events to my calendars from my mail.app, or by adding them in google calendar when im at work (by syncing outlook to my ‘work’ calendar) or I can add them on my iphone calendar, and they are instantly available on any of the other places!

This doesn’t work at all, ical wont let anyone set up duplicate caldav accounts for the same gmail address

Try it and see for yourself. look at the screenshots above. You will clearly see THREE caldav accounts. If you can’t get it to work, then remove the @gmail.com part if this is not the main calendar for your account