Microsoft graph api 如何使用MS Graph在Azure AD中获取目录扩展名

Microsoft graph api 如何使用MS Graph在Azure AD中获取目录扩展名,microsoft-graph-api,azure-ad-graph-api,Microsoft Graph Api,Azure Ad Graph Api,我正在尝试查询添加到Azure AD中用户对象的自定义目录扩展。我正在使用找到的解决方案 我能够使用UserProfileController获取属性,并更新模型以拥有我们的自定义扩展属性(请参阅下面的两个代码片段) Models/UserProfile.cs 公共类用户配置文件 { 公共字符串DisplayName{get;set;} 公共字符串GivenName{get;set;} 公共字符串姓氏{get;set;} 公共字符串扩展名\u ExtId\u ExtName{get;set;}

我正在尝试查询添加到Azure AD中用户对象的自定义目录扩展。我正在使用找到的解决方案

我能够使用UserProfileController获取属性,并更新模型以拥有我们的自定义扩展属性(请参阅下面的两个代码片段)

Models/UserProfile.cs

公共类用户配置文件
{
公共字符串DisplayName{get;set;}
公共字符串GivenName{get;set;}
公共字符串姓氏{get;set;}
公共字符串扩展名\u ExtId\u ExtName{get;set;}
}
查看/UserProfile.cshtml

@model App.Models.UserProfile
@ViewBag.Title。
显示名称
@Model.DisplayName
名字
@Model.givename
姓
@姓
员工Id
@Model.extension\u ExtId\u ExtName
@如果(ViewBag.ErrorMessage==“需要授权”)
{
您必须登录才能查看您的配置文件。单击@Html.ActionLink(“此处”、“索引”、“用户配置文件”、新建{reauth=true},null)登录

} @如果(ViewBag.ErrorMessage==“意外错误”) { 检索您的配置文件时发生意外错误。请重试。您可能需要登录

}
我的目标是让扩展名
extension\uextid\uextname
出现在用户列表中。我试图使用解决方案的
userscoontroller
和视图来获取此信息,但Microsoft Graph API用户模型似乎无法修改。模型设置为Microsoft Graph Client控制的
IEnumerable

如何添加自定义扩展,以便也可以从用户对象检索它

我已经确认,我可以通过进入图形浏览器并将我的请求URL设置为:

https://graph.microsoft.com/beta/users('{user@email.com}')?选择=扩展名\扩展名\扩展名


谢谢

我认为部分问题在于您将两个不同的API混为一谈。有一个和另一个;这是两个完全不同的API。虽然它们之间有很多功能重叠,但调用在它们之间是不可互换的

我建议看一下这些Microsoft Graph API示例:


我认为部分问题在于您将两个不同的API混为一谈。有一个和另一个;这是两个完全不同的API。虽然它们之间有很多功能重叠,但调用在它们之间是不可互换的

我建议看一下这些Microsoft Graph API示例:


我明白你的意思,现在我正在检查我的代码,因为其中一部分引用MS Graph API,而另一部分引用Azure AD Graph API。我更喜欢在我的项目中使用MS Graph API,所以我将重点关注这个领域。我意识到我的UserProfileController依赖于MS Graph,UserController依赖于Azure AD。谢谢。好的,我尝试使用“aspnet snippets示例”并使其运行良好,但现在我遇到了一个难题,即尝试拉取自定义目录扩展,如我之前发布的图URL所示。我再次尝试更新解决方案的ViewModel以包含目录扩展名,但仍然无法获得它,因为它引用了Graph用户对象。帮助?我相信您正在查找的是的
扩展
属性。我查询了
https://graph.microsoft.com/v1.0/users/{id}/extensions
,不返回任何结果。我在开发网站上做了更多的阅读,我发现:Azure AD在一些directoryObject资源上支持类似类型的扩展,称为目录模式扩展。虽然您必须使用Azure AD Graph API来创建和管理目录架构扩展的定义,但您可以使用Microsoft Graph API来添加、获取、更新和删除这些扩展属性中的数据。如何从
extension\u extension-ID\u extensionName
获取数据。这可能吗?我使用Azure Active Directory图形API获得了我所需的扩展。我曾多次尝试通过Microsoft Graph API,但运气不佳,除非我使用的是测试版。我最终创建了一个ViewModel,它接受了一个属性列表,其中包括我需要从用户对象传递回应用程序的扩展。我明白你的意思,我现在正在检查我的代码,因为其中一部分引用MS Graph API,而另一部分引用Azure AD Graph API。我更喜欢在我的项目中使用MS Graph API,所以我将重点关注这个领域。我意识到我的UserProfileController依赖于MS Graph,UserController依赖于Azure AD。谢谢。好的,我尝试使用“aspnet snippets示例”并使其运行良好,但现在我遇到了一个难题,即尝试拉取自定义目录扩展,如我之前发布的图URL所示。我再次尝试更新解决方案的ViewModel以包含目录扩展名,但仍然无法获得它,因为它引用了Graph用户对象。帮助?我相信您正在查找的是的
扩展
属性。我查询了
https://graph.microsoft.com/v1.0/users/{id}/extensions
,不返回任何结果。我在开发网站上做了更多的阅读,我发现:Azure AD在一些directoryObject资源上支持类似类型的扩展,称为目录模式扩展。虽然您必须使用Azure AD Graph API来创建和管理目录架构扩展的定义,但您可以使用Microsoft Graph API来添加、获取、更新和删除这些扩展属性中的数据。如何从
extension\u extension-ID\u extensionName
获取数据。这可能吗?我导致了usi