2016-06-29 17 views
5

Sto creando una semplice app per la pianificazione degli appuntamenti e voglio implementare la possibilità per me di creare appuntamenti per i miei utenti.Creazione di appuntamenti nel calendario di Exchange Server come altro utente senza rappresentazione (EWS)

sono riuscito a creare, aggiornare e cancellare il mio calendario in Exchange Server, e sono un po 'riuscito a creare appuntamenti aggiungendo i miei colleghi come RequiredAttendees in questo modo:

//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); 

ma è solo lui impostazione come partecipante necessario. La prossima cosa è che ho provato a usare la rappresentazione, ma non posso accedere al server di hosting per impostarmi come master e gli altri a dover condividere il calendario con me (a causa di permessi e cose) quindi ho dovuto scriverlo anche io. Inoltre, mi ha impostato per essere il suo autore editoriale sul suo calendario. C'è qualcosa che mi manca, o che non riesco a trovare sui siti MSDN?

EDIT: Sono in grado di creare un appuntamento nel suo calendario in outlok.

risposta

5

Se qualcuno si imbatte stessi problemi come ho fatto qui si prega di attenersi alla seguente procedura:

  1. Assicurarsi che la persona per la quale si sta creando appuntamento in su (imposta sul server di Exchange o in Outlok come "Editing autore" con tutte le autorizzazioni.

  2. Dopo di che è possibile creare appuntamenti per lui (verificare questo andando al vostro Outlok e la creazione di alcuni appuntamenti di prova).

Questo codice funziona per me:

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); 

Buona fortuna :)

+1

"Modifica autore" non esiste secondo il sito MS: https://technet.microsoft.com/de-de/library /ff522363(v=exchg.160).aspx - Ma la soluzione funziona! +1 –

+0

@Al Bundy Sì, ad un certo punto ho scoperto che ci sono poche versioni della documentazione da qualche parte nelle profondità di Internet, ma sono riuscito a trovare la soluzione in qualche modo. Sono contento che abbia aiutato :) – Kadaj