2014-01-13 55 views
0

我正在使用EWS,我想获得一个会议的约会列表。交易所将会议定义为具有与会者的约会。我目前做这个:我怎样才能得到一个会议的清单?

var filter = new SearchFilter.SearchFilterCollection 
      { 
       //new SearchFilter.IsEqualTo(AppointmentSchema.IsMeeting, true), 
       new SearchFilter.IsGreaterThan(AppointmentSchema.Start, DateTime.Today.AddYears(-1)), 
       new SearchFilter.IsLessThan(AppointmentSchema.Start, DateTime.Today), 
      }; 
var results = service.FindItems(id, filter, view); 

随着IsMeeting过滤评价说,它成功返回所有的约会,我就可以通过循环的结果,看到了IsMeeting属性设置正确。我只想得到预约会议。所以我加了注释行,也试过:

new SearchFilter.IsEqualTo(AppointmentSchema.IsMeeting, true) 
new SearchFilter.IsEqualTo(AppointmentSchema.IsMeeting, "true") 
new SearchFilter.IsEqualTo(AppointmentSchema.IsMeeting, 1) 
new SearchFilter.Exists(AppointmentSchema.IsMeeting) 

然而,我还是得到此错误:The property can not be used with this type of restriction.任何想法?

+0

我正在使用Exchange 2010 SP2。 – Jaguir

回答

0

我没有调试代码,看看为什么你得到的错误,但我建议使用带有CalendarView(http://msdn.microsoft.com/en-us/library/office/microsoft.exchange.webservices.data.calendarview(v=exchg.80).aspx)的CalendarFolder.FindAppointments方法(http://msdn.microsoft.com/en-us/library/office/dd636179(v=exchg.80).aspx)对结果进行过滤。

这里有一个检索约会的代码示例,http://msdn.microsoft.com/en-us/library/office/dn495614(v=exchg.150).aspx,你见过这个吗?

+0

我不认为'FindAppointments'和'CalendarView'支持分页,因为它会扩展循环事件。我会玩这个方法,但分页是我不能放弃的东西。 – Jaguir

+0

'FindAppointments'没有过滤器选项。 'CalendarView'似乎只支持日期范围过滤器。看起来我在EWS调用之后被卡住了。 – Jaguir