11

EWS 在正文中使用默认的“时间”文本创建约会。请看下图:

在此处输入图像描述

我想知道是否可以通过某种方式删除或隐藏此文本。

这是我使用 EWS 托管 API 创建约会的代码

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
service.Credentials = new WebCredentials("ews_calendar", PASSWORD, "acme");
service.Url = new Uri("https://acme.com/EWS/Exchange.asmx");

Appointment newAppointment = new Appointment(service);
newAppointment.Subject = "Test Subject";
newAppointment.Body = "Test Body";
newAppointment.Start = new DateTime(2012, 07, 19, 17, 00, 0);
newAppointment.End = newAppointment.Start.AddMinutes(30);
newAppointment.RequiredAttendees.Add("first.last@acme.com");

// create new appointment
newAppointment.Save(SendInvitationsMode.SendToAllAndSaveCopy);
4

1 回答 1

2

我在上面的同一个庄园中使用 EWS 创建了测试约会,并使用MFCMAPIEWS Editor探索了对象的属性。通过 MAPI,when-text存储在PidTagHtml属性中。通过 EWS,when-text存储在Body属性中。when-text存在于接收到的副本上,但不存在于发件人日历文件夹中的原件上。

基于此,似乎在发送时将when-text插入正文。如果您删除该行

newAppointment.RequiredAttendees.Add("first.last@acme.com");

然后创建约会而不是会议。在这种情况下,when-text不起作用。

  1. 我很确定没有办法绕过这种行为,除了进入收件人的邮箱并删除收到的副本上的文本。
  2. 即使有更好的解决方法,我也不建议这样做,因为 Outlook 和 OWA 在同一个庄园中创建会议。
于 2012-07-30T12:44:20.310 回答