到目前为止,我找不到这个问题的答案。我真的很感激任何帮助。
我正在使用Microsoft Graph从Azure AD获取用户列表。这到目前为止有效:
此请求返回使用指定查询的用户列表:
https://graph.microsoft.com/v1.0/users/?$top=999&$select=department,id,displayname
此请求返回指定用户的管理员:
https://graph.microsoft.com/v1.0/users/{iser id}/manager
有没有办法在第一个请求中为每个用户返回一个经理?如果我写
https://graph.microsoft.com/v1.0/users/?$top=999&$select=department,id,displayname,manager
我没有收到错误,但我也没有看到经理。有什么建议? 谢谢!
答案 0 :(得分:0)
您可以使用$expand
参数展开用户对象的manager属性。
记录良好 here:
注意:并非所有关系和资源都支持$ expand查询 参数。例如,您可以展开directReports,经理和 memberOf 用户上的关系,但您无法展开其活动, 消息或照片关系。并非所有资源或关系 支持在扩展项目上使用$ select。
使用从DirectoryObject派生的Azure AD资源,例如user 和group,$ expand仅支持beta版,通常返回a 扩展关系最多20个项目。
请注意使用beta
版API的限制和要求。
所以你最后的查询是:
https://graph.microsoft.com/beta/users/?top=999&select=department,id,displayname&expand=manager
另请注意,使用api的beta
版本,无需再为查询选项添加 $ 。
<强>更新强>
阅读时不要跳过行。在$expand
下定义了限制,例如:
使用从DirectoryObject派生的Azure AD资源,例如user 和group,$ expand仅支持beta版,通常返回a 扩展关系最多20个项目。