我正在使用Microsoft Graph管理应用程序以管理AAD中的组 . 尝试过滤名称包含#的组时,使用以下查询:

groups?$filter=(startswith(displayName,'#'))

产生此错误的C#中的代码的精确过滤器子句如下:

Filter($"(startswith(displayName,'{name}') or startswith(mail,'{name}'))")

我从Graph获得以下回复:

{
    "error": {
        "code": "BadRequest",
        "message": "Invalid filter clause",
        "innerError": {
            "request-id": "4d80e6a8-326a-4f79-9ea4-0e7924954181",
            "date": "2018-02-06T09:56:01"
        }
    }
}

文档没有提到#是无效字符,而且 - 在名称中使用此字符正确创建组 .

有人可以确认这是Graph中的错误吗?

我注意到手动编码 #%23 似乎解决了问题,过滤工作正常 .

EDIT - 有趣的是 - 撇号 ' 抛出此错误,即使它被编码为 %27 .