We have written an application that puts events onto a users's calendar using Exchange 2007 Web Services. We have SP1 installed. We are using .NET with C#. The account we are using has author or editor access to the calendar we are writing items to. If more permission is needed, we can deal with that as well.
We have added a category to the event, but then on the user's calendar it shows up as non-colorized and lists that our category name is not in the Master Category list.
So we would like to add the category to the master category list for the user's calendar AND assign a color to the added category as well.
Is there any way to do this using EWS? It seems there should be since the categories are stored on the Exchange server.
Any help and sample code would be appreciated.
No you cant because the Master category list is stored in a hidden item in the mailbox EWS doesn't allow you to access hidden items so there's no real workarounds. You can however do this with any of the other Exchange API's such as Mapi, Exoledb or WebDAV.
I totally agree with you lets hope they get the message and fix this properly with future versions/service packs. The other problem you face is that even if you could access hidden items in EWS you need then to modify the undocumented binary property that holds them which is not impossible but not supported either.
Modifying undocumented properties, while not fun, is not unfamiliar to us. We had to do this a lot when we did webDAV programming for Excahnge 2003 as we were doing it before there were any books or any documentation about it.
But since in this case it is not required, but a nice feature (unlike some of the other properties we had to touch with webDAV), we will probably hold off and just tell users that for now it is not doable.
Hopefully this will change.