簡體   English   中英

無法使用通配符搜索模式搜索 Microsoft Graph Api V1.0 用戶

[英]Unable to search Microsoft Graph Api V1.0 users using Wildcard search pattern

我正在嘗試使用以下代碼片段基於通配符正則表達式匹配來搜索用戶:

var users = await graphServiceClient.Users.Request().Select(e => new {
    e.DisplayName,
    e.GivenName,
    e.PostalCode
}).Filter(RegexMatch(DisplayName("Rob.* Thomas")
).GetAsync();

所以,上面應該匹配用戶“羅伯特·托馬斯”,並且 RegexMatch 目前在過濾器關鍵字列表中不可用,我只是作為一個例子來實現這個任務。 下面應該匹配 Robin Thomas:- Filter(RegexMatch(DisplayName("Robi.? Thomas") 以及 UserPrincipalName 搜索和 id 搜索等。

我想獲得一些類似的結果,但在 MS Graph V1.0 文檔中找不到任何正則表達式搜索。

請幫助我使用 MS Graph API V1.0 進行正則表達式匹配

Microsoft Graph V1.0 目前不支持像*%like%這樣的通配符,盡管有$search選項,目前僅支持messagesperson集合。

Work Around

你可以試試下面的方式

         var users = await graphServiceClient.Users
        .Request()
        .Filter("startswith(displayName,'Rob') and startswith(UserPrincipalName ,'Thomas')")
        .Select( e => new {
                 e.DisplayName,
                 e.GivenName,
                 e.PostalCode
                 })
        .GetAsync();

Note:您可以綁定多個and , or子句來執行您的自定義搜索。

希望它會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM