我正在尝试使用Microsoft Graph API来整理应用中的菜单。例如,我有一个链接A
,要求用户成为名为graphsec_A
的安全组的一部分。
这是一个Node应用,所以我打电话给/me/memberOf
并找回一系列对象,我可以过滤这些对象以查看displayName
是否等于graphsec_A
。
如果我将用户直接添加到一个组,当我以这种方式检查时它会起作用。然而,在我的情况下,我有一个我想要添加到集团的整个部门(以及其他一些部门和个人)。当我将组添加到graphsec_A
时,/me/memberOf
中不会返回该成员资格。
我已经尝试过使用$expand
,但我似乎无法让它工作,但显示了用户所属的所有群组的扩展版本。
任何方式使这项工作无需单独添加每个人?
答案 0 :(得分:3)
您正在寻找/checkMemberGroups
。与/memberOf
不同,/checkMemberGroups
方法是可传递的;这意味着它会检查组中的直接和间接成员身份。
您可以向POST
至/v1.0/me/checkMemberGroups
发送一个包含正文中的群组ID的列表,一次最多可以检查20个群组:
{
"groupIds": [
"group1-id", "group2-id", ...
]
}
在您的方案中,您将发送您的应用程序感兴趣的组.API将返回当前用户所属列表的子集。