使用ExchangeService添加约会事件

时间:2009-12-29 22:12:49

标签: exchange-server exchangewebservices ews-managed-api

目标是某人的Exchange日历(2007)。我想在某人的日历中添加一个简单的“约会事件”。此代码有效(我使用的是Microsoft.Exchange.WebServices.dll):

service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new NetworkCredential("supervisor", "password", "DOMAIN.COM");
service.AutodiscoverUrl("<employee@domain.com>", 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。

1 个答案:

答案 0 :(得分:1)

而不是WellKnownFolderName.Calendar

您应该使用新的FolderId(WellKnownFolderName.Calendar,“employee@domain.com”)

所以最后一行变成了 appt.Save(new FolderId(WellKnownFolderName.Calendar,“employee@domain.com”));

同样遇到换行问题,这只是从版本1.1开始,所以它可能是一个错误