将 endsWith filter 与扩展用户的成员一起使用不起作用



我想从MSGraph API获取所有用户及其组名。只要我不想做一些高级过滤(endsWith()(,它就可以工作。

这是我正在运行的选择查询:

https://graph.microsoft.com/v1.0/users?$select=displayName,userPrincipalName,mail,id,givenName,surname,memberOf&$expand=memberOf($select=displayName)

它生成了一组很好的用户,以及他们所在组的显示名称。我想将结果限制在特定的邮件域(我已经添加了ConsistencyLevel: eventual(,但除非删除memberOf扩展,否则我无法做到这一点。这项工作:

https://graph.microsoft.com/v1.0/users?$select=displayName,userPrincipalName,mail,id,givenName,surname,memberOf&$count=true&$filter=endsWith(mail,'@somedomain.com')

但正如预期的那样,没有团体。事实上,尽管选择了memberOf,但根本没有组!我想我会先获取组,然后在代码中对它们进行配对,但要获得它们,我必须进行扩展,而使用扩展时过滤器不起作用!

这会产生Request_UnsupportedQuery错误:

https://graph.microsoft.com/v1.0/users?$select=displayName,userPrincipalName,mail,id,givenName,surname,memberOf&$expand=memberOf($select=displayName)&$count=true&$filter=endsWith(mail,'@somedomain.com')

有没有什么方法可以实现我想要的,而不需要手动过滤或发出多个请求并自己映射?我们谈论的是包含数万用户的目录。。图形一开始看起来不错,但由于我想做任何更复杂的事情,它是一个有限的POS,一个查询完全排除了另一个查询。我也无法以任何方式通过的扩展成员进行过滤

基于Microsoft Docs

高级查询当前不支持$expand。

最新更新