【问题标题】:Access Microsoft.Graph.User user principal name property - Graph API访问 Microsoft.Graph.User 用户主体名称属性 - Graph API
【发布时间】:2018-08-22 16:43:22
【问题描述】:

我正在使用 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。 这是某个地方的错误吗?

【问题讨论】:

  • 当您进行第二次查询时,生成的 User 对象是否没有填充 userPrincipalName?
  • 谢谢@DarrelMiller 它填充了userPrincipalName,但它被包装为用户目录对象。主要关心的是如何访问对象内部的这个属性。

标签: microsoft-graph-api microsoft-graph-sdks


【解决方案1】:

您需要将 DirectoryObject 向上转换为它的本机类型才能访问它。

var groupInfo = await graphServiceClient.Groups[group].Members.Request().Select("userPrincipalName")
                                        .GetAsync().ConfigureAwait(false);

var user = groupInfo[0] as User;

【讨论】:

  • 谢谢达雷尔!工作正常:)
猜你喜欢
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多