2016-06-29 7 views
5

Ich erstelle eine einfache App für die Terminplanung und möchte die Fähigkeit implementieren, Termine für meine Benutzer zu erstellen.Erstellen eines Termins im Exchange-Server-Kalender als anderer Benutzer ohne Identitätswechsel (EWS)

konnte ich Update erstellen, und mein Kalender auf Exchange Server löschen, und ich es geschafft, etwas Verabredungen zu erstellen meine Kollegen als RequiredAttendees wie so hinzufügen:

//service variable is being created using my credidentals 
Appointment meeting = new Appointment(service); 
meeting.Subject = "Some subject "; 
meeting.Body = "Some body."; 
meeting.Start = DateTime.Now; 
meeting.End = meeting.Start.AddHours(4); 
meeting.Location = "Some Location"; 
meeting.RequiredAttendees.Add("[email protected]"); 

meeting.ReminderMinutesBeforeStart = 60; 
meeting.Save(new FolderId(WellKnownFolderName.Calendar, 
    "[email protected]"), 
    SendInvitationsMode.SendToAllAndSaveCopy); 

Aber es setzt ihn nur bei Bedarf Teilnehmer. Das nächste ist, dass ich versucht habe, Identitätswechsel zu verwenden, aber ich kann nicht auf den Hosting-Server zugreifen, um mich als Master und andere zu setzen, um Kalender mit mir zu teilen (wegen Berechtigungen und Sachen), also musste ich das auch kratzen. Außerdem hat er mich zu seinem Verlag Autor in seinem Kalender festgelegt. Gibt es etwas, das ich vermisse oder nicht auf MSDN-Sites finden kann?

EDIT: Ich kann einen Termin in seinem Kalender in outlok erstellen.

Antwort

5

Wenn jemand über denselben Problemen kommt, wie ich hier habe Sie wie folgt vor:

  1. Vergewissern Sie sich, dass Person, für die Sie Termin erstellen setzt man sich (auf Exchange-Server oder in Outlok als „Bearbeiten Autor“mit allen Berechtigungen.

  2. Danach Sie Termine für ihn schaffen kann (dies überprüfen, indem auf Ihre Outlok gehen und die Schaffung von ein paar Test Termine).

Dieser Code funktioniert für mich:

Folder inboxFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.Calendar, "[email protected]")); 
Appointment appointmentOther = new Appointment(service); 
appointmentOther.Subject = "Test 2"; 
appointmentOther.Body = "Body text"; 
appointmentOther.Start = DateTime.Now; 
appointmentOther.End = DateTime.Today.AddHours(16); 
appointmentOther.Location = "My Office"; 
appointmentOther.IsReminderSet = true; 
appointmentOther.ReminderMinutesBeforeStart = 30; 
appointmentOther.Save(inboxFolder.Id,SendInvitationsMode.SendToNone); 

Viel Glück :)

+1

"Bearbeiten von Autor" existiert nicht nach der MS-Website: https://technet.microsoft.com/de-de/library /ff522363(v=exchg.160).aspx - Aber die Lösung funktioniert! +1 –

+0

@Al Bundy Ja, irgendwann habe ich festgestellt, dass es irgendwo in den Tiefen des Internets wenige Versionen der Dokumentation gibt, die aber irgendwie eine Lösung gefunden haben. Ich bin froh, dass es geholfen hat :) – Kadaj

Verwandte Themen