exchange-server


EWS create event with original organizer


We are trying to create event using EWS which is a part of the migration code. There is a well know issue where we cant set the organizer of event which is the orginal one, here is scenario;
User A is being migrated to User B
User A has 30 events in Calendar
Out of those 30, it has 20 invited events where A is attendee and 10 events which is created by user A (i.e. user A is organizer)
When we migrate them over, using below code all the events are created with User A as organizer. Which is the real issue
Appointment appointment = new Appointment(exchangeSevice);
appointment.MimeContent = new MimeContent("UTF-8", System.IO.File.ReadAllBytes(#"c:\A\test.mime"));
//appointment.MimeContent = ;
// Set the properties on the appointment object to create the appointment.
appointment.Subject = "Tennis lesson with invite 22222";
appointment.Body = "Focus on backhand this week.";
appointment.Start = DateTime.Now.AddDays(2);
appointment.End = appointment.Start.AddHours(1);
appointment.Location = "Tennis club";
appointment.ReminderDueBy = DateTime.Now;
Attendee attendee = new Attendee("test#user.com");
appointment.RequiredAttendees.Add(attendee);
Mailbox mailbox = new Mailbox();
mailbox.Address = "student#test.com";
// Save the appointment to your calendar.
appointment.Save(new FolderId(WellKnownFolderName.Calendar, mailbox), SendInvitationsMode.SendToAllAndSaveCopy);
// Verify that the appointment was created by using the appointment's item ID.
Item item = Item.Bind(exchangeSevice, appointment.Id, new PropertySet(ItemSchema.Subject));
Issue is explained here by Microsoft;
https://blogs.msdn.microsoft.com/webdav_101/2011/09/28/howto-set-the-organizer-of-a-meeting-on-the-calendar-of-an-attendee-using-ews/
I am not sure what exactly this paragraph is trying to say;
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.
Can anyone help on how do I achieve my requirement of create event with different organizer? Is there any chance I can do so?
What you are doing is not migrating the appointments, but creating new ones.
The property "organizer" is read-only and can't be changed, so you will not succeed this way.
What I'd try is to get the organizers of the appointments from User A, impersonate those (or using delegate access) and send an invitation to User B.
Hot to impersonate another user: https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx
Hot to get delegate access: https://msdn.microsoft.com/en-us/library/office/dn641957(v=exchg.150).aspx
Which is what exactly I was thinking. But in that case, the only fear customer has expressed is that the invitation will boom in their inbox. So assume today is 20th Jan 2017 and there is an event of 15th Jan 2015 which is BACK DATED one. In that case I just cant send invite.
ALso, the other issue is its not necessary that ONLY internal employees are invited. There could be external ones as well who will start getting invite mails. If you see what I mean. So this solution cant work.
What I was hoping was if there is any way I can create programmatically MeetingRequest which TOO isnt possible but if I could create a MIME of MeetingRequest item and save that in inbox. Because what I noticed that if I get event invite, thats being shown in calendar. Obviously that way we cant copy the status whether the user accpeted that or not but atleast this can be a solution. Any suggestion?

Related Links

Catch All rule - how to catch all emails that has been sent to not existing email address
Can EWS calls be done parallel without slowing down?
Exchange transport agent to check senders of email message
Exchange Online Signature for new and replay message
EWS: copy items between mailboxes/accounts
Where can I get the latest Microsoft.Exchange.WebServices.DLL?
Exchange 2003 OWA galfind only returning HTML response
Exchange 2010 EWS cannot access 2007 MailBox - AutoDiscover?
Retrieving ALL emails for ALL accounts from exchange server
Kerio EWS differences to real Exchange EWS?
Barracuda not delivering external email
Exchange 2010 - run command on mail receive
What is the best and least expensive option for setting up a MS Exchange Server for development purposes only?
Create Exchange Meeting Programmatically
How to change Exchange user's password in an automated fashion
how to check if you have already subscribed to EWS notifications/PushSubscriptionRequest

Categories

HOME
qt
openshift
office365
memory
kivy
loopbackjs
risk-management
tibco
ontology
clone
haxe
supercollider
sympy
roku
hystrix
driver
xades4j
phonegap-build
rpmbuild
cmake-gui
android-custom-view
bluemix-mobile-services
spring-ldap
neo4j.rb
altium-designer
amazon-sns
quantitative-finance
candlestick-chart
pdf.js
fstar
ninject
google-play-developer-api
python-2.x
reporting
john-the-ripper
winrm
subclassing
microsoft-ui-automation
mars-simulator
selenide
utf
destroy
jenkins-slave
rightnow-crm
roracle
beeline
sigsegv
spring.net
watir-webdriver
winmerge
stateless-session-bean
polymaps
dymola
nrf51
portal
metabase
data-management
tsqlt
system.net.mail
xcode8-beta4
oci
eclemma
node.js-connect
noclassdeffounderror
textblock
gravatar
godeps
arbre
lowercase
nette
gql
cache-manifest
nssortdescriptor
password-recovery
xhprof
loginview
csslint
forceclose
redpitaya
fileshare
tnt4j
tfs-sdk
reentrancy
jquery-dialog
towers-of-hanoi
spark-view-engine
clearinterval
taskkill
vows
filelock
anonymous-types
hungarian-notation
cassini
resharper-5.0
tacit-programming
downloadfile
error-detection
account-management

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App