使用EWS管理的API 2.0更新一个服务调用中的约会

本文关键字:一个 服务 调用 约会 管理 EWS API 更新 使用 | 更新日期: 2023-09-27 18:23:53

我正在为每个现有约会设置一个自定义扩展属性,如下所示:

var extendedPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "RateTheMeetingId24", MapiPropertyType.Integer);
var propertySet = new PropertySet(PropertySet.FirstClassProperties) { extendedPropertyDefinition };
appointment.Load(propertySet);
appointment.SetExtendedProperty(extendedPropertyDefinition, meetingId);

然后我更新约会:

appointment.Update(ConflictResolutionMode.AlwaysOverwrite);

它工作得很好,但速度很慢,因为Update()创建了一个调用来交换每个约会。我想在一个电话中更新会议。我可以列出我的预约与设置的自定义属性,然后我想使用这样的东西:

UpdateAppointment(List<Appointment> appointmentsWithExtendedPropertySetted)
{
    appointmentsWithExtendedPropertySetted.UpdateAll();
}

我在MSDN中找到了一个关于UpdateItems方法的参考:ExchangeService.UpdateItems方法

但是我不知道如何使用它。

使用EWS管理的API 2.0更新一个服务调用中的约会

我在msdn论坛上了解了如何解决我的问题:在一个服务呼叫中更新预约

我需要一次为一个约会设置属性,然后将其添加到批处理中,在为所有约会设置属性后,我需要为我的约会批处理使用_service.UpdateItems()方法:

pulic void UpdateAppointments(List<Item> _updateBatch)
{
    Service.UpdateItems(upUpdateBatch, Folder.Id, ConflictResolutionMode.AlwaysOverwrite, MessageDisposition.SaveOnly, SendInvitationsOrCancellationsMode.SendToNone);
}