SharePoint 2010: How to add secondary calendars to the “My Calendar” web part


Consider the following scenario:
In Outlook, you have created multiple calendars. You add your calendar to the “My Calendar” web part on a SharePoint site using the steps described below:
In this situation, only your primary calendar is shown.

When you enter just the base address for Outlook Web Access in the “Mail server address” box on the “My Calendar” web part, only your primary calendar will be shown. This is by-design.


Note: This only works with Exchange 2010 Service Pack 1 and later. Also, the check box for “Use the light version of Outlook Web App” must be unchecked.

1. Browse to your Outlook Web Access site and sign in with the “Use the light version of Outlook Web App” check box unchecked.
2. Click on the Calendar section, right click on the non-primary calendar you want to display in the “My Calendar” web part and choose Open In New Window.
3. Copy the entire URL from the address bar in this new window.
4. Browse to your SharePoint “My Site” and click Site Actions | Edit Page.
5. Click Add a Web Part and add the “My Calendar” web part to the page.
6. On the “My Calendar” web part, click the “open the tool pane” link.
7. In the “Mail server address” box, paste the URL you copied in step 3 above and click ok.

More Information

If you are using a version of Exchange prior to Exchange 2010 SP1, you may see the following error when you try to complete the above steps:

"The item that you attempted to access appears to be corrupted and cannot be accessed.

Exception type: Microsoft.Exchange.Data.Storage.CorruptDataException
Exception message: System.FormatException: Invalid character in a Base-64 string. at System.Convert.FromBase64String(String s) at Microsoft.Exchange.Data.Storage.StoreId.Base64ToByteArray(String base64String)

Call stack

Microsoft.Exchange.Data.Storage.StoreId.Base64ToByteArray(String base64String)
Microsoft.Exchange.Data.Storage.StoreObjectId.Deserialize(String base64Id)
Microsoft.Exchange.Clients.Owa.Core.Utilities.CreateStoreObjectId(String storeObjectIdString)
Microsoft.Exchange.Clients.Owa.Core.OwaStoreObjectId.CreateFromString(String owaStoreObjectIdString)
Microsoft.Exchange.Clients.Owa.Premium.CalendarView.OnLoad(EventArgs e)
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)"

Article ID: 2637891 - Last Review: Nov 14, 2011 - Revision: 1