This is one of my favorite topics. You’d think it would be easy … but its not. We’ve tried FuseCal only to find that some calendars cannot be merged (it may have to do with private calendars or complicated event repeat patterns). We’ve tried using Yahoo pipes, only be stopped by its failure to expand recurring events. And even Apple’s iCal program is supposed to be able to merge calendars using groups, but it does not allow you to group multiple Google CalDAV calendars together. Anybody who has found a way to get this stuff working … leave a comment with the solution, or a link to the solution.
Until then, here’s a stop gap that is not as good as any of these options promise to be. It falls short because you may not republish the merged calendar as a feed and re-subscribe to it in iCal or Google calendars. But its still pretty handy.
Once again, this isn’t my idea but I pulled a couple of things together so it works reasonably well.
In a Google calendar account, subscribe to or create as many calendars as you would like to merge. Make sure that the folks you plan to share the merged calendar with have been granted access to all the individual sub-calendars.
Then, to generate the embedded HTML for the merged calendar do this:
PPS aren’t comments wonderful (thanks Steve:-) – it seems thaqt you can generate the combined embed code within Google Calendar… Subscribe to the calenders you want to display, then go to the calendar settings:
If you have a web site, you’re pretty much done. Just grab the HTML for the calendar frame and add it to the page you want.
If (like me) you want to have a little more control over who has access to the page, you can create a page at Google Sites. The irony you will run into is that Google Sites thinks its own Google-generated iframe HTML for embedding is unsafe and strips it out. Sigh.
You can use this trick to save the day:
The code given by Google Calendar is an iframe :
Use the src attribute (in the iframe tag) as the File parameter of this gadget :
Add the gadget (by URL) to your Google Site page, then add the src contents from Google’s automatically generated embedding code into the “File” property for the gadget. Share the page with whomever you please. Its a bonus that when you grant a user access to your site, Google will automatically strip calendars that they are not authorized to view out of the merged calendar.