2009-12-29 6 views
1

La cible est le calendrier Exchange de quelqu'un (2007). Je veux ajouter un simple "rendez-vous" à l'agenda de quelqu'un. Ce code fonctionne (je suis en utilisant le Microsoft.Exchange.WebServices.dll):Utilisation de ExchangeService pour ajouter des occurrences de rendez-vous

service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
service.Credentials = new NetworkCredential("supervisor", "password", "DOMAIN.COM"); 
service.AutodiscoverUrl("<[email protected]>", ValidateRedirectionUrlCallback); 
appt = new Appointment(service); 
appt.Subject = "<subject>"; 
appt.Body = "<Body Text>"; 
appt.Start = _DateFrom; 
appt.End = _DateTo; 
appt.Sensitivity = Sensitivity.Private; 
appt.Save(WellKnownFolderName.Calendar); 

Cependant, il y a des problèmes avec ce code:

  1. L'objectif de nomination est l'employé. Lors de l'ajout du rendez-vous, le rendez-vous se présente pour l'employé (yay!) Mais aussi pour le superviseur (boo!). Suis-je censé utiliser les références de l'employé? Si oui, et si je n'y ai pas accès - seulement les superviseurs, suis-je déjà sorti du jeu?
  2. Le rendez-vous apparaît dans Outlook en tant que "rendez-vous de réunion" et non "rendez-vous". Ainsi, la case à cocher pour présenter les participants à la réunion est affichée (sans personne dans le cours) et n'est pas pertinente dans mon scénario.
  3. appt.Body ne répond pas du tout à Environment.NewLine ou "\ r \ n" - Je n'ai pas encore essayé le HTML.

Répondre

1

Au lieu de WellKnownFolderName.Calendar

Vous devez utiliser les nouvelles folderID (WellKnownFolderName.Calendar, "[email protected]")

Ainsi, la dernière ligne devient appt.Save (nouveau folderID (WellKnownFolderName.Calendar, "[email protected]"));

Egalement avec des problèmes avec le retour à la ligne, ce n'est que depuis la version 1.1, donc c'est un bug

Questions connexes