删除EWS约会正文文本

时间:2012-07-19 20:21:57

标签: exchangewebservices outlook-2010

EWS使用正文中的默认“When”文本创建约会。请参阅下图:

enter image description here

我想知道是否有可能删除或隐藏此文本。

以下是使用EWS Managed 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);

1 个答案:

答案 0 :(得分: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都在同一个庄园中创建会议。