none
Setting the Organizer via EWS RRS feed

  • Question

  • From my experience, and from what I've read here, it's impossible to change the Organizer of a calendar event.

    Also, it appears that you cannot make anybody but *yourself* the organizer of an event. 

    This presents serious problems when importing *existing* events to an Exchange mailbox using EWS. For instance, say I am using some web application that offers its own calendar event feature. I click "export to your exchange mailbox," and enter my credentials.

    Did somebody else create the event? Tough luck-- only *I* can be set as the organizer. This significantly compromises the usefulness of this integration. 

    I am the developer in that example. How can I get around this issue without compromising security and usability?

    Tuesday, August 7, 2012 2:42 PM

All replies

  • There is a way...Impersonate the user which created the appointment and save appointment in your well-known (calendar) folder. If someone else outside your domain created the appointment, create for yourself and add in the description that someone else created the appointment?

    Thursday, August 9, 2012 10:30 AM
  • Impersonation doesn't work for me; also, this Microsofter seems to corroborate:

    http://blogs.msdn.com/b/webdav_101/archive/2011/09/28/howto-set-the-organizer-of-a-meeting-on-the-calendar-of-an-attendee-using-ews.aspx . 

    Specifically, he says, "Further, the organizer field is read-only and documented as such.  Direct log-in, Impersonation and delegate access will not change this behavior."

    Were you able to achieve this through impersonation? If so, I will take another crack at it.

    Thursday, August 9, 2012 1:41 PM
  • Hi Roastface Skillet,

    No i dont mean you set it like the set. Exchange will do it for you.
    So save an appointment in the folder of someone makes organizer.

    Example:

    Impersonate: Person A
    folderId: Get folderId from Person B

    new Appointment().Save(folderId, SendInvitationsMode.SendToNone);

    Organizer = Person A
    Appointment is for Person B

    Reflection

    If you are good enough with reflection...you can interupt the process and change the value of an property. (Values are stored in AppointmentSchema where they are getter/setter ;-)

    Thursday, August 9, 2012 2:13 PM
  • So to clarify, would this be possible? :

    - Person "B" creates an event in my system (not exchange)
    - Person "A" logs into my system and wishes to export this event to their Exchange server
    - Person "A" impersonates Person "B" via EWS
    - My system exports, via EWS, the event to Exchange with Person "B" as the creator

    Thanks for your help!

    Thursday, August 9, 2012 2:26 PM