如何使用 Microsoft Graph SDK 获取 AD 用户组列表以及 AD 用户
How can I get a list of AD user groups along with AD user with Microsoft Graph SDK
代码:
var users = await graphClient.Users
.Request()
.Filter("startswith(userPrincipalName, '" + userPrincipalName + "')")
.Select(u => new { u.Id, u.OtherMails, u.DisplayName, u.UserPrincipalName, u.MemberOf })
.GetAsync();
returns MemberOf 为空。我知道我可以做后续的:
var groups = await graphClient.Users[user.Id].MemberOf.Request().GetAsync();
但我宁愿 return 一个包含所有信息的 Microsoft.Graph.User class 类型。
memberOf
不是 属性 而是关系,您可以使用扩展查询参数获取关系的数据。请参阅下面的 API 调用及其结果。
https://graph.microsoft.com/v1.0/users?$filter=startswith(userPrincipalName,'Shiva@nishantsingh.live')&$select=id, displayName, memberOf&$expand=memberOf
所以,使用类似这样的代码。
var users = await graphClient.Users
.Request()
.Filter("startswith(userPrincipalName, '" + userPrincipalName + "')")
.Select(u => new { u.Id, u.OtherMails, u.DisplayName, u.UserPrincipalName, u.MemberOf })
.Expand(d => d.memberOf)
.GetAsync();
代码:
var users = await graphClient.Users
.Request()
.Filter("startswith(userPrincipalName, '" + userPrincipalName + "')")
.Select(u => new { u.Id, u.OtherMails, u.DisplayName, u.UserPrincipalName, u.MemberOf })
.GetAsync();
returns MemberOf 为空。我知道我可以做后续的:
var groups = await graphClient.Users[user.Id].MemberOf.Request().GetAsync();
但我宁愿 return 一个包含所有信息的 Microsoft.Graph.User class 类型。
memberOf
不是 属性 而是关系,您可以使用扩展查询参数获取关系的数据。请参阅下面的 API 调用及其结果。
https://graph.microsoft.com/v1.0/users?$filter=startswith(userPrincipalName,'Shiva@nishantsingh.live')&$select=id, displayName, memberOf&$expand=memberOf
所以,使用类似这样的代码。
var users = await graphClient.Users
.Request()
.Filter("startswith(userPrincipalName, '" + userPrincipalName + "')")
.Select(u => new { u.Id, u.OtherMails, u.DisplayName, u.UserPrincipalName, u.MemberOf })
.Expand(d => d.memberOf)
.GetAsync();