如何将 $filter 的 # 字符传递给 Microsoft Graph?

How to pass # character for the $filter to Microsoft Graph?

我尝试使用 Microsoft Graph 按 userPrincipalName 筛选以下用户:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
    "value": [
        {
            "businessPhones": [],
            "displayName": "Champi Non Buen Dia",
            "givenName": "buendiachampi",
            "jobTitle": null,
            "mail": "champinon.buendia@champi.com",
            "mobilePhone": null,
            "officeLocation": null,
            "preferredLanguage": null,
            "surname": "urrutia",
            "userPrincipalName": "champinon.buendia_champi.com#EXT#@avtestonline.onmicrosoft.com",
            "id": "c6d071ee-5d89-49bb-ac23-768720e5eff4"
        }
    ]
}

当我用下面的 URL 请求时,我得到上面的 JSON 结果:

https://graph.microsoft.com/v1.0/users?$filter=startswith(userPrincipalName,'champinon.buendia_champi.com')

,但是如果我添加到筛选器 #EXT#,我会得到一个 错误的请求 结果,我该如何传递该字符过滤值?

https://graph.microsoft.com/v1.0/users?$filter=startswith(userPrincipalName,'champinon.buendia_champi.com#EXT#')

我之所以需要这样做,是因为必须强制用户输入完整的用户名而不是其中的一部分,#EXT# 使得过滤更准确,因为输入的用户名必须匹配#EXT#.

#EXT# 的值必须编码为 %23EXT%23:

https://graph.microsoft.com/v1.0/users?$filter=startswith(userPrincipalName,'edgardo.urrutia_tcs.com%23EXT%23@')