如何从office365获取对话历史记录文件夹?

时间:2011-07-08 08:18:09

标签: c# exchange-server exchangewebservices office365

我正在使用EWS并希望从Office365 Exchange Online获取对话历史记录文件夹。

可以通过从根文件夹获取子文件夹来判断具有DisplayName的文件夹的方法来实现它。

但是,用户可以将名称更改为此文件夹。

是否有一种方法可以从ExtendedProperty判断来解决这个问题? 而且,还有另一种方式吗?

- 代码示例 -

        Folder folder = Folder.Bind(this._exchange, WellKnownFolderName.Root);
        //acquire the total number of cases including the subfolder. 
        FolderView view = new FolderView(1);
        view.Traversal = FolderTraversal.Deep;
        FindFoldersResults result = folder.FindFolders(view);
        //acquire All folders. 
        view.PageSize = result.TotalCount;
        result = folder.FindFolders(view);
        FindFoldersResults folders = folder.FindFolders(view);

        foreach (var f in folders.Folders)
        {
            //I want to judge the history folder of the conversation here excluding the DisplayName property. 
        }

请任何人提供一个好主意,样品。 问候。

1 个答案:

答案 0 :(得分:1)

要检查文件夹是否包含来自某个对话的项目,您可以使用以下内容:

var filter = new SearchFilter.IsEqualTo(EmailMessageSchema.ConversationId, convId);
var itemView = new ItemView();
foreach (var f in folders.Folders)
{
    var findResult = f.FindItems(filter, itemView);
}

过滤器应仅将搜索结果限制为属性ConversationId等于您感兴趣的对话的项目。