我正在使用 CalendarItemType 视图来检索日历项目。我唯一关心的项目是我创建的项目,我知道它们都是每周重复的项目。我能够获取每个单独的事件,并且从其中任何一个中获取经常性主条目,但我想将搜索范围缩小到与我的模式匹配的那些条目。
我正在尝试使用 FindItemType 上的 Restriction 属性来指定 NotEqualTo 限制,其中 calenderRecurrenceId 的常量为空。这导致我的请求超时。到目前为止,我根本无法使用 FindItemType 加载重复,并且当我发现在重复系列中发生的事件时需要使用后续的 GetItemType 调用。
这是我开始的代码。该代码需要与 Exchange 2007 和 Exchange 2010 一起使用。
var findItemRequest = new FindItemType();
findItemRequest.ParentFolderIds = new DistinguishedFolderIdType[]
{
new DistinguishedFolderIdType()
};
((DistinguishedFolderIdType)findItemequest.ParentFolderIds[0]).Id = DistinguishedFolderIdNameType.calendar;
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;
var itemShapeDefinition = new ItemResponseShapeType(
{
BaseShape = DefaultShapeNamesType.AllProperties;
}
findItemRequest.Item = calenderView;
findItemRequest.ItemShape = itemShapeDefinition;
var findItemResponse = this.esb.FindItem( findItemRequest );
此外,如果您知道任何好的示例来源(除了 MSDN 中的示例),我会欢迎他们。我在紧急情况下拿起别人的代码,并试图在飞行中学习 Exchange Web 服务。