EWS:在MS Teams的情况下SearchFilter不起作用

时间:2019-04-01 10:00:37

标签: c# exchangewebservices microsoft-teams

EWS搜索过滤器不适用于MS Teams中的团队。当它适用于1对1和群聊消息时。

我们正在检索MS团队的消息。编辑的消息存储在修订文件夹中。

我们首先从“团队聊天”文件夹中获取消息。 然后,对于每条消息,我们将其搜索到ConversationId的“ Recoverable Items \ Version”中,但返回空结果。

我们实际上已经使用EWS编辑器验证了修订文件夹中存在带有conversationId的消息,但是搜索将返回该消息。

此处注意:相同的代码适用于1对1和群组对话。

SearchFilter searchFilter = new SearchFilter.IsEqualTo(ItemSchema.ConversationId, "33333333");
ItemView view = new ItemView(50);
view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Descending);
FindItemsResults<Item> findResults = _exchangeService.FindItems(WellKnownFolderName.RecoverableItemsVersions,
    searchFilter, view);

Team Chat Folder

enter image description here

1 个答案:

答案 0 :(得分:0)

在MsTeams中,一对一对话和群组对话存储在用户邮箱中,而团队对话将有一个单独的邮箱,其中包含所有团队消息。实际上,我们试图在用户邮箱中查找,因此没有找到。在团队的邮箱中搜索后,我们从SearchFilter中获得了预期的结果。