我正在使用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.
}
请任何人提供一个好主意,样品。 问候。
答案 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
等于您感兴趣的对话的项目。