在 MSGraph 中过滤用户

Jay*_*ddy 5 microsoft-graph-api

我正在尝试按 Microsoft Graph API 中的属性过滤用户。本质上是尝试获取具有给定jobTitle分配的用户列表。

例如,https://graph.microsoft.com/v1.0/users?$filter=jobtitle eq 'ACCOUNT EXECUTIVE'返回用户列表。

我的要求是查询没有JobTitle.

尝试https://graph.microsoft.com/v1.0/users?$filter=jobtitle ne null并收到以下消息。

{
    "error": {
        "code": "Request_UnsupportedQuery",
        "message": "Unsupported property filter clause operator 'NotEqualsMatch'.",
        "innerError": {
            "request-id": "c9b290bf-2902-4b79-b35b-0f5d251ad80b",
            "date": "2017-09-14T11:18:52"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

$filter=department ge '!'这里似乎是一个解决方法。

  • $filter=department ge ' ' (带空格)可能会更好。该查询之所以有效,是因为 '!' 是 ASCII 表中的第二个可打印字符(空格是第一个,这就是为什么我说它可能会更好)http://www.asciitable.com/ 好主意 Leon! (2认同)

Rya*_*ite 2

根据这个 Git Issue,我认为它不受支持:https://github.com/microsoftgraph/microsoft-graph-docs/issues/239(它最终只是围绕寻找房间)

无法过滤用户集合中姓氏等于 null 或空字符串的实体。筛选器的值必须介于 1 到 64 个字符之间,如下所述:https://msdn.microsoft.com/en-us/Library/Azure/Ad/Graph/api/entity-and-complex-type-reference#用户实体- marych 四月 26, 2016

缺乏空过滤是由于用户索引的方式造成的。我们无法有效地检索未设置索引属性的用户。没有计划改变这一点。- 玛丽奇 2016 年 5 月 13 日