Azure active directory 是否从所有组检索所有用户?
是否可以使用Microsoft Graph查看所有组以及这些组中的所有用户?我在文档中没有看到类似的内容 打电话时: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",
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