我正在使用EWS托管API 2.0。我希望将来可以搜索日历以交换约会的主题。
注意事项是:
仅返回与subject =“ test”相匹配的将来约会
仅在未来90天内返回未来的约会
我可以让CalendarView在接下来的90天内返回约会,但无法弄清楚如何使用SearchFilter进行过滤。为了获得最佳性能,我宁愿不返回所有约会然后进行过滤。
我可以使用ItemView和SearchFilter通过Subject过滤约会。但是,这不会过滤掉已经发生的约会。它返回与过滤器匹配的所有内容。
理想情况下,如果可以在SearchFilter中使用CalendarView,但收到错误消息“可能未为CalendarView指定限制和排序顺序”,那将是很好的。
FindItemsResults<Item> findResults = svc().FindItems(fId, filter, cView);
任何帮助都会很棒...谢谢!
最佳答案
我想到了....
像这样使用复合搜索过滤器
SearchFilter.SearchFilterCollection coll = new SearchFilter.SearchFilterCollection(LogicalOperator.And);
SearchFilter subjectFilter = new SearchFilter.ContainsSubstring(AppointmentSchema.Subject, "test");
SearchFilter dateFilter = new SearchFilter.IsGreaterThanOrEqualTo(AppointmentSchema.Start, DateTime.Today);
coll.Add(subjectFilter);
coll.Add(dateFilter);
FindItemsResults<Item> findResults = svc().FindItems(fId, coll, view);