Azure active directory 是否从所有组检索所有用户?

Azure active directory 是否从所有组检索所有用户?,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,是否可以使用Microsoft Graph查看所有组以及这些组中的所有用户?我在文档中没有看到类似的内容 打电话时: https://graph.microsoft.com/v1.0/groups/ 我获得了关于我的组的信息,但没有看到关于这些组中用户的任何信息 我还试着打电话: https://graph.microsoft.com/v1.0/{{userID}}/memberOf 我得到以下错误: { "error": { "code": "BadRequest",

是否可以使用Microsoft Graph查看所有组以及这些组中的所有用户?我在文档中没有看到类似的内容

打电话时:

https://graph.microsoft.com/v1.0/groups/
我获得了关于我的组的信息,但没有看到关于这些组中用户的任何信息

我还试着打电话:

https://graph.microsoft.com/v1.0/{{userID}}/memberOf
我得到以下错误:

{
  "error": {
    "code": "BadRequest",
    "message": "Resource not found for the segment 'memberOf'.",
    "innerError": {
      "request-id": "13488c8e-124f-4161-ad2b-1dc03a302dc9",
      "date": "2019-03-18T16:13:23"
    }
  }
}
不知道为什么或者是否有关联


我授予服务负责人所有的Microsoft Graph权限。

我认为有两种可能的方法可以使用-

  • 在通话组中使用
    $expand
    操作符。

    GEThttps://graph.microsoft.com/v1.0/groups?$expand=成员

    通过这种方式,您可以在一次通话中获得有关组及其成员的信息。这里有一个链接到

    免责声明:Microsoft Docs for expand参数有一个注释,上面写着

    使用从directoryObject派生的Azure AD资源,如用户 组$expand仅在beta版受支持,通常返回 扩展关系最多可包含20项

    尽管如此,上面提到的使用v1.0的查询对我来说确实很好,至少在组成员数量较少的Graph explorer中是这样。因此,您可能需要进一步测试

  • 分别查找每个组的成员

    在这种方法中,您可以使用


  • 每个API所需的权限在其各自的Microsoft文档链接中都有很好的描述。

    我们正在寻找@Rohit提到的20个限制问题的答案。这一限制似乎仍然存在

    但是如果您使用deltaapi,您将获得所有成员,响应甚至仅限于用户的id

    因此,请使用:

    ?$expand=成员
    

    如果您正在寻找某个组的直接成员。。您可以使用
    List members api
    ,不过,使用此api,您需要对所有组逐个执行操作。。Microsoft Graph API还为某些API支持
    $expand
    ,但我不确定组是否会扩展以在一次调用中为您提供所有成员。。我很快就尝试了,这样的查询很有效
    https://graph.microsoft.com/v1.0/groups?$expand=members
    它也会扩展成员。。尽管Microsoft文档中的$expand operator存在一些限制。。我将尝试整理所有内容并添加一个答案。我认为这些文档已经过时,仅在beta版中受支持,但我的理解是,返回的~20个成员是准确的。使用
    {group}/members
    是一种更可靠的方法。由于您可以
    $select
    只选择您关心的字段(这里不支持
    $expand=members(
    $expand=members($select={props})
    ),因此带宽方面也变得容易多了。。感谢您的投入。这是一个类似的问题:
     GET https://graph.microsoft.com/v1.0/groups/{id}/members