Използване на ExchangeService за добавяне на срещи

Целта е нечий Exchange Calendar (2007). Искам да добавя просто „Случване на среща“ към нечий календар. Този код работи (използвам Microsoft.Exchange.WebServices.dll):

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

Има обаче проблеми с този код:

  1. Целта на назначаването е служителят. Когато добавяте срещата, срещата се показва за служителя (да!), но също и за ръководителя (бу!). Трябва ли да използвам идентификационните данни на служителя? Ако е така, какво ще стане, ако нямам достъп до това - само супервайзорите, вече ли съм извън играта?
  2. Назначаването се показва в Outlook като „Назначаване на среща“, а не и „Поява на среща“. И така, полето за въвеждане на участници в срещата се показва (разбира се, без никой в ​​него) и е неуместно в моя сценарий.
  3. appt.Body изобщо не отговаря на Environment.NewLine или "\r\n" - все още не съм пробвал HTML.

person Jourdan    schedule 29.12.2009    source източник


Отговори (1)


Вместо WellKnownFolderName.Calendar

Трябва да използвате нов FolderId(WellKnownFolderName.Calendar,"[email protected]")

Така последният ред става appt.Save(new FolderId(WellKnownFolderName.Calendar,"[email protected]"));

Също така има проблеми с новия ред, това е само от версия 1.1, така че вероятно е грешка

person Stephan    schedule 30.07.2010