如何使用Exchange Web服务检索重复的事件主服务器?

tva*_*son 16 exchange-server exchangewebservices

我正在使用CalendarItemType视图来检索日历项.我关心的唯一项目是我创建的项目,我知道它们都是每周重复项目.我能够获得每个单独的事件,并且从其中任何一个出现重复的主项目,但我想将我的搜索范围缩小到与我的模式匹配的那些项目.

我尝试使用FindItemType上的Restriction属性为calenderRecurrenceId指定一个带有null常量的NotEqualTo限制.这导致我的请求超时.到目前为止,我一直无法使用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 );
Run Code Online (Sandbox Code Playgroud)

此外,如果你知道任何好的示例来源(超出MSDN中的那些),我会欢迎他们.我在紧急情况下拿起别人的代码,并试图动态学习Exchange Web服务.

MJB*_*MJB 4

也许我误解了你的意思,在这种情况下我深表歉意。

您不使用 CalendarView - 如果您想要的只是主定期日历项目,则可以使用普通的 IndexedPageItemView。

您可以使用 CalendarView 将重复周期扩展到单个项目。然而,CalendarView 的妥协是除了开始日期和结束日期之外不允许任何限制。没有任何。