我正在使用Microsoft Graph v1 API来获取组中所有用户的列表。像这样:
var groupInfo = await graphServiceClient.Groups[group].Members.Request()
.GetAsync().ConfigureAwait(false);
这将向我返回<Microsoft.Graph.User>
对象的列表。此对象中唯一可访问的属性似乎是ID OData and AdditionalData
。有什么办法可以获取诸如"UserPrincipalName" , "DisplayName"
之类的属性?
我不希望再次点击图形API来基于我能够访问的user ID
获取这些值。
我尝试使用:
var groupInfo = await graphServiceClient.Groups[group].Members.Request().Select("userPrincipalName")
.GetAsync().ConfigureAwait(false);
但是,这似乎仍然提供了User对象,而不仅仅是UPN。 这是某个地方的错误吗?
答案 0 :(得分:2)
您需要将DirectoryObject转换为它的本机类型才能访问它。
var groupInfo = await graphServiceClient.Groups[group].Members.Request().Select("userPrincipalName")
.GetAsync().ConfigureAwait(false);
var user = groupInfo[0] as User;