我想知道如何使用EWS托管API在特定时间窗口获取所有可用免费会议室的列表,例如在10月20日下午4点至5点之间
我建议使用GetUserAvailability。根据MSDN:
GetUserAvailability(IEnumerable,TimeWindow,AvailabilityData)方法仅支持最少24小时的时间段,并且开始和结束时间为12:00 am.To将方法的结果限制为更短的时间段,您必须过滤结果在客户端。
因此,如果您正在寻找今天的免费房间,您可以像这样创建TimeWindow对象:
new TimeWindow(DateTime.Today, DateTime.Today.AddDays(1))
对于与会者,您传递了AttendeeInfo的集合,该集合应包含您要查找的房间的smtp地址:
new List<AttendeeInfo>() { new AttendeeInfo("[email protected]"),new AttendeeInfo("[email protected]") };
对于AvailabilityData,如果您不需要建议,最好通过AvailabilityData.FreeBusy,因为查询会更轻。
在回复中,您将找到包含今天所有会议的统计和结束时间的CalendarEvent列表,您可以检查是否有任何所需时间范围的免费房间。您可能会发现this post有用,以检查所请求的时间范围是否与任何会议重叠。