问题描述
我们有一个场景,我们需要扩展AAD中的现有模式以供用户支持我们的用例。一旦创建了新用户(我们不控制此过程),我们想将一些附加信息附加到对象上。我们还希望将信息附加到所有已经存在的用户对象上。尽管Graph API中的架构扩展可以为我们解决此问题。
我已经基于tutorial here添加了架构定义。我们的扩展名为 ext7sumrsqd_policies ,并具有以下属性:
- IsHandled(布尔值)
- SuggestedOwner(字符串)
创建扩展名后,我想查找未设置新“属性”的所有用户(想象一个同步运行在intervall上,并且想要检查尚未处理的新用户)。 / p>
首先尝试以下查询:https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies eq null
但是Graph API不支持带null的过滤器。
因此尝试过滤新扩展名的任何属性:
-
https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies/IsHandled eq false
-
https://graph.microsoft.com/v1.0/users?$filter=ext7sumrsqd_policies/IsHandled eq true
但是,此过滤器从不返回具有ext7sumrsqd_policies = null的任何用户。
有什么方法可以为当前缺少架构扩展属性或该属性为null的资源过滤Graph API?
解决方法
如上所述,不支持通过null进行过滤。您可以尝试创建另一个架构扩展,例如ext7sumrsqd_hasPolicies,它指定ext7sumrsqd_policies是否为null。