我想知道如何使用EWS托管API在特定时间窗口获取所有可用免费会议室的列表,例如10月20日下午4点至5点之间
答案 0 :(得分:0)
我建议使用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("room1@example.com"),new AttendeeInfo("room2@example.com") };
对于AvailabilityData,如果您不需要建议,最好通过AvailabilityData.FreeBusy,因为查询会更轻。
在回复中,您将找到包含今天所有会议的统计和结束时间的CalendarEvent列表,您可以检查是否有任何所需时间段的免费房间。您可能会发现this post有用,以便检查所请求的时间范围是否与任何会议重叠。