目标是某人的 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);
但是,此代码存在问题:
- 任命对象是员工。添加约会时,约会会显示给员工(耶!),但也会显示给主管(嘘!)。我应该使用员工的凭证吗?如果是这样,如果我无法访问它怎么办 - 只有主管,我已经退出游戏了吗?
- 约会在 Outlook 中显示为“会议约会”,而不是“约会发生”。因此,输入会议参与者的框正在显示(当然没有人在其中),并且与我的场景无关。
- appt.Body 根本不响应 Environment.NewLine 或 "\r\n" - 我还没有尝试过 HTML。