Microsoft 图形查询:用户是组成员吗?

cro*_*ill 6 microsoft-graph-api

React 应用程序查询 Microsoft Graph 以发现用户是否是特定 Active Directory 组的成员。现在,有这样的路线:

https://graph.microsoft.com/v1.0/me/memberOf
Run Code Online (Sandbox Code Playgroud)

上面的内容在应用程序中确实有效。它返回一个包含所有用户组的(相当大的)对象,因此我可以迭代列表,但最好直接检查用户是否是单个的成员。

鉴于我已经可以看到所有组的列表,这似乎并不困难,但我没有找到这样做的途径。

我错过了一些明显的东西吗?

谢谢。

PS 如果我可以在不需要应用程序注册的管理员权限的情况下执行此操作,那就太好了。

Ras*_*usW 10

如果您已经知道该组的ID,则可以获取该组的成员,并检查该用户是否是该组的成员。即与你现在所做的相反。

或者,如果您同时拥有用户 ID 和组 ID,则可以按如下方式进行过滤:

https://graph.microsoft.com/v1.0/users/48d31887-5fad-4d73-a9f5-3c356e68a038/memberOf?$filter=id eq '1e770bc2-3c5f-487f-871f-16fbdf1c8ed8'

第一个 ID 是用户,过滤器的 ID 是组。

如果是针对当前登录的用户,您可以将其缩短为

https://graph.microsoft.com/v1.0/me/memberOf?$filter=id eq '1e770bc2-3c5f-487f-871f-16fbdf1c8ed8'

如果用户不是给定组的成员,您将收到返回代码Request_ResourceNotFound

  • 支持,添加标头 ConsistencyLevel=eventual 和参数 $count=true,如[此处](https://learn.microsoft.com/en-us/graph/api/user-list-memberof?view=graph- rest-1.0&tabs=http#request-headers)。 (3认同)