/ me / memberOf显示组用户是“嵌套”成员

时间:2018-04-10 14:29:26

标签: microsoft-graph

我正在尝试使用Microsoft Graph API来整理应用中的菜单。例如,我有一个链接A,要求用户成为名为graphsec_A的安全组的一部分。

这是一个Node应用,所以我打电话给/me/memberOf并找回一系列对象,我可以过滤这些对象以查看displayName是否等于graphsec_A

如果我将用户直接添加到一个组,当我以这种方式检查时它会起作用。然而,在我的情况下,我有一个我想要添加到集团的整个部门(以及其他一些部门和个人)。当我将组添加到graphsec_A时,/me/memberOf中不会返回该成员资格。

我已经尝试过使用$expand,但我似乎无法让它工作,但显示了用户所属的所有群组的扩展版本。

任何方式使这项工作无需单独添加每个人?

1 个答案:

答案 0 :(得分:3)

您正在寻找/checkMemberGroups。与/memberOf不同,/checkMemberGroups方法是可传递的;这意味着它会检查组中的直接和间接成员身份。

您可以向POST/v1.0/me/checkMemberGroups发送一个包含正文中的群组ID的列表,一次最多可以检查20个群组:

{
  "groupIds": [
    "group1-id", "group2-id", ...
  ]
}

在您的方案中,您将发送您的应用程序感兴趣的组.API将返回当前用户所属列表的子集。