Howto: Set the organizer of a meeting on the calendar of an attendee using EWS.
I would like to say that this is something which is easily possible - however, I cannot. Setting the organizer directly in code is not supported. Historically, having the organizer over-writable has caused some pretty bad situations for customers. When a meeting is created, the organizer property is automatically hard-stamped and cannot be specified during meeting creation. Further, the organizer field is read-only and documented as such. Direct log-in, Impersonation and delegate access will not change this behavior. At the time you cannot directly overwrite it with possible exception of creating the meeting's using MIME - which is not supported and complicated.
Appointment.Organizer Property
https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.appointment.organizer(EXCHG.80).aspx
If you decide to create the meeting using MIME, have the MIME/VCALENDAR content use METHOD:PUBLISH instead of REQUEST. The problem with this is that there are other properties which need to be set. There is no documentation or recommendations on what all would need to be set or if methodology might work in all cases. Further, you might get it to work reliably for now, however it may not work as expected in future updates to Exchange.
Note this for delegate access with EWS:
Creating and Sending Meeting Messages on Behalf of a Principal (Exchange Web Services)
https://msdn.microsoft.com/en-us/library/bb856541(EXCHG.80).aspx
The Organizer and From properties of the meeting invitation are set with the principal's mailbox. The Sender property is set with the delegate's mailbox. The relationship between delegate and principal are expressed in Outlook Web Access 2007 as "[Sender property] on behalf of [From property]."
Comments
Anonymous
November 21, 2011
Good luck to all migrating from MAPI with restrictions like these. Your customers that had "bad situations" should hire developers who know what they are doing. This restriction does not make any sense whatsoever. I have a basic scenario where I need to import calendar items from Google apps and I need to be able to set the organizer during import. I am really not interested in doing this over MIME.Anonymous
June 13, 2013
I have to say this is very bad to set organizer is read. we application need to send meeting request to others, we can not get users password (use UseDefaultCredentials not OK)