我希望获得所有用户的经理关系,这可以通过https://graph.microsoft.com/beta/users?expand=manager轻松完成。
但我得到所有用户的所有数据和每个经理的所有数据,这太过分了!我想限制我的结果集只返回用户的id和displayName,而且只返回管理员关系的id。
https://graph.microsoft.com/beta/users?select=id,displayName&expand=manager(select=id)
这不起作用,我收到此错误:
Term'经理($ select = id)'在$ select或$ expand表达式中无效。
非常感谢任何帮助。
答案 0 :(得分:0)
不幸的是,我一直在寻找这个问题,以及 - 看来,这是不支持的:
https://developer.microsoft.com/en-us/graph/docs/concepts/query_parameters#expand-parameter
并非所有资源或关系都支持在扩展项上使用$ select。
我认为这意味着您不能在manager扩展上使用select。
我什至更进一步地说,您不能在用户查询本身上使用select,因为即使有其所有属性,也无法将扩展的“ manager”包括在select中。设置选择语句后,扩展的经理属性将消失。
目前有两种选择:
我认为,根据计划获取的数据量(用户数量,所需属性),您应该选择最适合自己的方法。
答案 1 :(得分:0)
这是图形 API 文档,展示了如何扩展整个管理链并返回选定的字段。需要注意的是,它可以在文档页面上运行,但不会在 https://developer.microsoft.com/en-us/graph/graph-explorer 处返回预期的结果。
https://graph.microsoft.com/v1.0/me?$expand=manager($levels=max;$select=id,displayName)&$select=id,displayName&$count=true
链接到图形 API 用户列表管理器: