Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft graph api /me/memberOf向组显示用户是“a”;嵌套的;成员_Microsoft Graph Api - Fatal编程技术网

Microsoft graph api /me/memberOf向组显示用户是“a”;嵌套的;成员

Microsoft graph api /me/memberOf向组显示用户是“a”;嵌套的;成员,microsoft-graph-api,Microsoft Graph Api,我正在尝试使用Microsoft Graph API整理应用程序中的菜单。例如,我有一个链接a,它要求用户是名为graphsec\u a的安全组的一部分 这是一个节点应用程序,因此我调用/me/memberOf,并获取一个对象数组,我可以对其进行筛选,以查看displayName是否等于graphsec\u a 如果我将用户直接添加到组中,那么当我以这种方式进行检查时,它会起作用。然而,在我的例子中,我有一个完整的部门,我想加入这个团队(以及其他一些部门和个人)。当我将组添加到graphsec_

我正在尝试使用Microsoft Graph API整理应用程序中的菜单。例如,我有一个链接
a
,它要求用户是名为
graphsec\u a
的安全组的一部分

这是一个节点应用程序,因此我调用
/me/memberOf
,并获取一个对象数组,我可以对其进行筛选,以查看
displayName
是否等于
graphsec\u a

如果我将用户直接添加到组中,那么当我以这种方式进行检查时,它会起作用。然而,在我的例子中,我有一个完整的部门,我想加入这个团队(以及其他一些部门和个人)。当我将组添加到
graphsec_a
中时,该成员身份不会在
/me/memberOf
中返回

我尝试过使用
$expand
,但似乎无法使其正常工作,而是显示了用户所属的所有组的扩展版本

有什么方法可以在不单独添加每个人的情况下实现此功能?

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

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

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

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

谢谢。。。我很害怕!构建了将/memberOf映射到显示名数组中的流程,但我想我现在必须找到一些中间件来根据组的ID存储和比较组。您可能不需要任何中间件。您可以向通过所需的
displayName
筛选的组发出请求,并仅选择
id
字段。获取该调用的输出以构建您的
/checkMemberGroups
。您将需要两个单独的调用,但除了您现在拥有的
displayName
之外,您不应该需要任何额外的数据点。非常感谢这一点-我将尝试正确的逻辑,但在图形浏览器上快速测试似乎可以满足我的要求。干杯