我正在使用 Azure AD 登录名,以便应用使用Microsoft凭据登录并获取用户所属的组(及其信息(。
通过这一行,我能够获取登录用户:var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity;
通过这一行,我能够获取用户所属的组:var groups = userClaims?.Claims.Where(claim => claim.Type == "groups").Select(c => c.Value);
现在我正在尝试集成 Microsoft.Graph,以便我可以获取组的信息(我只需要组的显示名称(。
我正在使用以下代码:
GraphServiceClient graphClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => {
requestMessage
.Headers
.Authorization = new AuthenticationHeaderValue("Bearer");
return Task.FromResult(0);}));
var group = graphClient.Groups[g].Request().GetAsync();
这不起作用,或者我似乎无法弄清楚如何读取组变量的属性。
有什么简单的方法可以获取群组的信息吗?
根据官方 ms 图,您可以通过以下方式获取组显示名称
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var groups = await graphClient.Groups
.Request()
.GetAsync();
另一个解决方法如下:
var graphClient = GraphUtility.CreateGraphClient(accessToken);
var targetGroupCollection = await graphClient.Groups.Request()
.Filter($"startsWith(displayName,'{groupName}')")
.GetAsync();