【问题标题】:EWS(office 365) create Seachfolder not workingEWS(office 365)创建 Seachfolder 不工作
【发布时间】:2020-04-30 13:06:24
【问题描述】:

我有一个程序,它使用 EWS 服务循环 Office 365 中的所有电子邮件,如果符合某些条件,它们就会被标记为一个类别。 然后我创建一个 seachfolder 来查找具有该类别的邮件。

这是我的代码

SearchFolder searchFolder = new SearchFolder(service);
            SearchFilter filter = new SearchFilter.ContainsSubstring(ItemSchema.Categories, categoryName);
            searchFolder.DisplayName = "Mulige CPR-data";

            searchFolder.SearchParameters.RootFolderIds.Add(WellKnownFolderName.Inbox);
            searchFolder.SearchParameters.Traversal = SearchFolderTraversal.Deep;
            searchFolder.SearchParameters.SearchFilter = filter;

            try
            {
                searchFolder.Save(WellKnownFolderName.SearchFolders);
                Console.WriteLine(searchFolder.DisplayName + " added.");
            }
            catch (Exception e)
            {
                //error handling
            }

创建了 Seachfolder,但是当我在 Outlook 365 中访问它时,我收到一条消息,上面写着“未找到任何东西”(我有丹麦语版本,所以不确定英文消息)。

经过反复试验,我发现我这样做了,它可以正常工作

SearchFilter filter = new SearchFilter.ContainsSubstring(ItemSchema.Subject, "subjectTest");

所以我的问题是为什么我的 seachfolder 在使用类别时不工作,但在检查主题时工作正常。

奖励信息 - 如果我使用相同的搜索标准(类别)在 Outlook 中创建一个搜索文件夹,它可以正常工作。

【问题讨论】:

    标签: c# outlook office365 exchangewebservices


    【解决方案1】:

    EWS SearchFilters 不支持查询多值字符串属性的逻辑(而底层存储限制支持,这就是它在使用 MAPI 的 Outlook 中工作的原因)。例如,您的搜索过滤器在 FindItem 请求中也不起作用。在 Microsoft Graph 中,他们似乎支持了一些额外的搜索逻辑,因此您可以创建搜索文件夹来执行 MV 搜索,例如以下内容会起作用

    https://graph.microsoft.com/v1.0/me/mailfolders('searchfolders')/childfolders
    
    
    {
        "@odata.type": "microsoft.graph.mailSearchFolder",
        "displayName": "Red Items",
        "includeNestedFolders": true,
        "sourceFolderIds": [
            "AQ.."
        ],
        "filterQuery": "categories/any(a:a eq 'Red Category')"
    }

    【讨论】:

    • 感谢您的解释和代码示例。我将尝试使用 MS 图表来创建搜索文件夹。 EWS 可以使用给定条件创建一个 seachfolder 但不使用它,这似乎有点奇怪。但也许它只是旧交换版本的遗留物。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2015-03-05
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多