我正在尝试查询添加到Azure AD中的用户对象的自定义目录扩展。我正在使用找到的解决方案here。
我可以使用UserProfileController获取属性并更新Model以获得我们的自定义扩展属性(请参阅下面的两个代码片段)。
模型/ UserProfile.cs
public class UserProfile
{
public string DisplayName { get; set; }
public string GivenName { get; set; }
public string Surname { get; set; }
public string extension_ExtId_ExtName { get; set; }
}
查看/ UserProfile.cshtml
@model App.Models.UserProfile
<h2>@ViewBag.Title.</h2>
<table class="table table-bordered table-striped">
<tr>
<td>Display Name</td>
<td>@Model.DisplayName</td>
</tr>
<tr>
<td>First Name</td>
<td>@Model.GivenName</td>
</tr>
<tr>
<td>Last Name</td>
<td>@Model.Surname</td>
</tr>
<tr>
<td>Employee Id</td>
<td>@Model.extension_ExtId_ExtName</td>
</tr>
</table>
@if (ViewBag.ErrorMessage == "AuthorizationRequired")
{
<p>You have to sign-in to see your profile. Click @Html.ActionLink("here", "Index", "UserProfile", new { reauth = true }, null) to sign-in.</p>
}
@if (ViewBag.ErrorMessage == "UnexpectedError")
{
<p>An unexpected error occurred while retrieving your profile. Please try again. You may need to sign-in.</p>
}
我的目标是让扩展程序extension_ExtId_ExtName
出现在用户列表中。我正在尝试使用解决方案的UsersController
并查看以获取此信息,但似乎无法修改Microsoft Graph API用户模型。该模型设置为Microsoft Graph Client控制的IEnumerable<User>
。
如何添加自定义扩展程序以便我也可以从User对象中检索它?
我已经确认我可以通过用户对象获取它,方法是转到Graph Explorer并将我的请求URL设置为:
https://graph.microsoft.com/beta/users('{user@email.com}')?select=extension_EXTENSION-ID_extensionName
由于
答案 0 :(得分:0)
我认为这里的部分问题是你要混淆两种不同的API。有Microsoft Graph API和Azure Active Directory Graph API;这是两个完全不同的API。虽然它们之间存在许多功能重叠,但它们之间的呼叫不可互换。
我建议改为查看这些Microsoft Graph API示例: