iPhone 3.0 and Google Calendars (Updated)

iPhone 3.0 and Google Calendars (Updated)

Hello again. I’m back … and we’re back on the topic of calendars!

UPDATE! – I’ve added a separate article looking at the far simpler sync options for iOS 4. If you’re still using iPhone OS 3.X, then read on – otherwise click here for the updated how-to.

You may recall a few months ago I wrote an article on how I’ve solved my multiple calendar problem, in an attempt to separate my work life (and diary) from my personal one. One of the sticking points at the end of that solution was that I couldn’t sync my Google calendars with my iPhone over the air, so ended up using the Google calendar web-app for the iPhone. This was “ok”, but it wasn’t the neat all-in-one solution I was looking for.

However, on the 17th of June Apple release the iPhone 3.0 operating system, and the good news is that is supports CalDAV. Hurray!

The news is good if you only have one Google calendar, but if you create or subscribe to several calendars, things didn’t look so good – until I did some poking around and found some solutions that work. I thought I’d detail it here in case any of you are interested.

Solution #1: Only One Google Calendar

The good news is that there’s very little you need to do. On your iPhone, simply follow these steps:

  1. Go to “Settings” -> “Mail, Contacts, Calendars”
  2. Tap “Add Account …”
  3. Select “Other”
  4. Select “Add CalDAV Account”
  5. Enter the following details:
    1. Server: www.google.com
    2. Username: [Your Google Username]
    3. Password: [Your Google Password]
    4. Description: [Anything you like]
  6. Then tap “Next”, and the account should be verified.

If you now goto the Calendar app (and wait a moment for an initial sync), your Google calendar appointments should appear … just like magic!

Solution #2: Multiple Google Calendars

If you’re like me and you have multiple Google Calendars, then you may have noticed that the above solution only syncs your first calendar. To get access to any additional calendars you’re going to have to do a bit more work, but the good news is that the iPhone’s new copy n’ paste feature comes to the rescue, as you’ll see in a moment.

IMG_0315First of all, you’re going to need to obtain the “Calendar ID” number for each additional calendar you have. To do this, simply log into your Google Calendar on your Mac or PC. Under your list of available calendars in the left sidebar select “Settings”, then select the calendar you’d like to obtain the ID for. You’ll find the “Calendar ID” listed near the bottom of the page in the “Calendar Address” section.

This may be a good time to open your mail application, compose a new mail message to yourself, and drop this ID number into the body. Repeat these steps for all the calendars you wish to sync with your iPhone.

The ID by itself isn’t much use. Your iPhone will need the full CalDAV address to make this work. For each ID you’ve pasted into your email, reformat it so it looks like this:

https://www.google.com/calendar/dav/[Calendar ID]/user

(For example, your CalDAV address may look something like this:)

https://www.google.com/calendar/dav/[email protected]/user

Prepare the IDs for each of the calendars in this way (as it’ll save you doing it on the iPhone!), and then send the email to yourself. Now move to your iPhone and follow these steps:

  1. Follow the steps shown in Solution #1 to give you access to your first calendar.
  2. Then follow the steps to Solution #1 a second time to create an additional duplicate calendar, but change the “Description” to something unique.
  3. Return to the home screen and run the Mail app and open that email you sent.
  4. Using the new copy and paste feature, copy the full address of the additional calendar you’d like to add.
  5. Return to the settings menu for the calendar created at step 2, and select “Advanced Settings”.
  6. Replace the “Account URL” address with the one you copied from your email.
  7. Hit return, and repeat steps 2-6 for any additional calendars.
  8. When you’re done, return to home and run the Calendar app. Give it a moment to sync, and you’re done!

IMG_0317 IMG_0318 IMG_0319

Solution #3: Alternative Approach (.ics files)

A similar solution to the above I’ve discovered on my travels is detailed here on ideaexcursion.com.

The idea here is to use the iCal .ics file support built into Google Calendars to subscribe to your calendars. I’ve not tried this method, but many users are reporting success. One caveat of this approach is that you loose the ability to set/change the colour coding of your calendars. (Solution #2 sets the colour coding based on your Google Calendar preferences, and even syncs them if you change them online!)

Solution #4: Exchange instead of CalDAV

If you’re not already using an Exchange account on your iPhone, then there’s an even easier solution for your multiple calendars.

Thanks to Kenny for posting this possible solution:

First you need to set up your main Google Account Calander using MS Exchange. Go HERE:

http://www.google.com/support/mobile/bin/answer.py?hl=en&answer=138740

Then, to add all your other Google Calanders […] read THIS:

http://www.google.com/support/mobile/bin/answer.py?answer=139206&ctx=sibling

This is certainly a more elegant solution, but unfortunately the iPhone only allows you to setup one Exhcange account so it may not be a solution for everyone. There’s also forum discussions at the moment as to which is better on your battery life: CalDAV or Exchange. I use both at the same time, so I don’t really care – but if seems to bother some folks! Also, I’m not sure if this solution supports push notification of calendar updates. CalDAV certainly doesn’t – your calendars simply get synced at whatever refresh interval you’ve set on your phone (30 minutes for me).

UPDATE: Google Contact’s Birthday Calendar

You can also add your Google contact’s birthdays to your calendar, thanks to the tip from Elena. Similar to solution 2, add a new calendar and follow the steps below.

I have killed an hour to figure out how to sync Google contacts’ birthday and I have this done!

Use this link for that
https://www.google.com/calendar/dav/%[email protected]/user

Email this URL to yourself or just copy it, then paste it into the “Server” field. Enter your login as[email protected] and password
Select “Advanced Settings”.
Make sure that the “Account URL” address has the same link that you copied.

It does work!

Elena

Some Final Notes

First of all, the thing I love about this feature (solutions 1-3) is that it will run alongside any existing calendars you have on your iPhone. I sync my work’s diary with my phone through an Exchange Server. The Calendar app simply overlays the additional calendars in different colours, just as with iCal or the online Google Calendar.

Another feature that I didn’t spot straight away is that the colour coding for each calendar matches the colours you select on the web version of Google Calendar. And yes, if you change the colour on the web version, it syncs to the phone! There doesn’t appear to be a way to change the colour on the phone at the moment, which is a shame as I can’t change the garish red that my Exchange diary defaults to. Oh well, maybe in time.

Finally, and most importantly, you don’t need an active web connection to view, edit or create appointments in your CalDAV calendars. If you’re out of range and make changes at either end, they’re automatically synced once the connection is re-established.

So there you have it. Not as simple as it could be, but certainly and workable solution. With the iPhone 3.0 release Apple have also added the ability to sync your contacts with an LDAP server of your choice. Its beyond the scope of this article, but it’s finally looking like it’s possible to get the Exchange/MobileMe experience without spending any money. RichB *will* be pleased ;o)