Update: February 24, 2012
BlackBerry PlayBook OS 2.0
This solution works for the BlackBerry PlayBook! See the PlayBook version of the instructions here:
PlayBook OS 2.0 Tip: Syncing Multiple Google Calendars
Workaround no longer needed for Windows Phone
It only took 4 months, but Google has changed the Google Sync settings page to recognize Internet Explorer 9 on Windows Phones, so you no longer have to use this workaround. The much shorter instructions on how to do this is here:
Sync Multiple Google Calendars with Windows Phone - No More Workarounds!
Here’s the original workaround for Windows Phone (posted July 7, 2011)…
Of all the shortfalls in Windows Phone 7.0, the one that annoyed me the most was the inability to sync multiple calendars from one source. I have around 10 calendars in Google Calendar; and the only way to see all of them on Windows Phone was by pinning the web version of Google Calendar to my start screen!
With the release of Mango, we saw the ability to pull in multiple calendars from a single Windows Live or Exchange account. But there’s no apparent way to make this work with Google Calendar, even though Google accounts are synced via Google Sync (aka Exchange ActiveSync).
So what’s going on here? As it turns out, Mango is perfectly capable of syncing multiple calendars from Google (as it is from any Exchange server). It’s just that, by default, Google only syncs your primary calendar with your device. On other mobile OS’s like iOS, Google allows you to select additional secondary or subscribed calendars to sync. The problem is that Google doesn’t allow Windows Phones to access this functionality. Are they doing this on purpose? Is it a conspiracy? I have no idea (but I really don’t think so).
Anyway, I’ve found a way of getting around the problem and thought I’d share it in case others are as frustrated as I was.
The Solution in a Nutshell
Google provides a web page for selecting which of your calendars to sync, but they only made the page visible to iOS devices (and also Android, I would assume). The basic idea is to make Google think you’re browsing to that page on an iOS device (iPhone, iPad, iPod Touch) so that you can select additional calendars to sync to your Windows Phone. There are 2 ways of doing this: actually using an iOS device if you have access to one, or spoofing the user agent of your web browser to make Google think you’re on iOS. I’ll be detailing the latter approach.
(Before proceeding, please note that I assume you’ve already added your Google account to your Mango phone and you have synced your Google Calendar to it.)
I’ll use desktop Safari for this example because it has an inherent way to changing the user agent string. But most browsers can do this, sometimes using an addon or an extension.
- Install Safari if you don’t have it.
- Open Safari, go to the Preferences window, then go to the Advanced tab. There should be a setting called “Show Develop menu in menu bar”. Check that. Close the Preferences window.
- Now locate the Develop menu you just enabled. Under “User Agent”, select any of the iOS devices. Web sites will now see your browser as the device you chose.
- Go to google.com and log into your Google account.
- Now open this URL: http://m.google.com/sync. You should see a list of devices you have syncing with the account, and one of them should be your Windows Phone. (Note that you will only be shown this page if you’ve changed your user agent correctly and you’re already logged in)
- Now click on the entry for your Windows Phone. You’ll be presented with a list of all your calendars (personal, subscribed, and Google-provided ones like holidays).
- You are done. Go to your Mango phone and hit “sync” for your Google account. You should now see multiple Google calendars in the Calendar settings.
- You may have to delete your Google account from your phone and re-add it.
Note: You may have to set your Google account to US English before this will work.
Update (January 25, 2012):
Thanks everyone for your comments! I’ve added Step 11 based on your feedback.
Hope this helped,
Anthony - Wonder Reader for Windows Phone