我正在尝试使用 Microsoft Graph API 来整理应用中的菜单。例如,我有一个链接 A
,它要求用户属于名为 graphsec_A
的安全组。
这是一个 Node 应用程序,所以我调用 /me/memberOf
并取回一个对象数组,我可以过滤这些对象以查看 displayName
是否等于 graphsec_A
.
如果我直接将用户添加到组中,当我以这种方式检查时它会起作用。然而,就我而言,我有一个整个部门要添加到组中(连同其他一些部门和个人)。当我将一个组添加到 graphsec_A
时,该成员资格不会在 /me/memberOf
中返回。
我试过弄乱 $expand
,但我似乎无法让它工作,但显示了用户所属的所有组的扩展版本。
有什么方法可以使这项工作无需单独添加每个人?
最佳答案
您正在寻找 /checkMemberGroups
.与/memberOf
不同,/checkMemberGroups
方法是可传递的;这意味着它会检查组中的直接和间接成员身份。
您可以通过向 /v1.0/me/checkMemberGroups
发出一个 POST
并在正文中列出组 ID,一次最多可以检查 20 个组:
{
"groupIds": [
"group1-id", "group2-id", ...
]
}
在您的场景中,您将发送您的应用程序感兴趣的组。API 将返回当前用户所属的列表子集。
关于microsoft-graph-api -/me/memberOf 显示用户是 "nested"成员的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49756240/