2017-09-13 67 views
1

我試圖查詢添加到Azure AD中的用戶對象的自定義目錄擴展。我正在使用找到的解決方案here如何使用MS Graph在Azure AD中獲取目錄擴展

我能夠使用UserProfileController獲取屬性並更新模型以具有我們的自定義擴展屬性(請參閱下面的兩個代碼片段)。

型號/ 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 User模型。該模型設置爲IEnumerable<User>,其中Microsoft Graph客戶端控件。

如何添加我的自定義擴展,以便我可以從User對象中檢索它?

我證實,我可以將圖形Explorer和我的請求的URL設置爲通過用戶對象獲得它:

https://graph.microsoft.com/beta/users('{[email protected]}')?select=extension_EXTENSION-ID_extensionName

感謝

回答

0

我認爲問題的一部分這裏是你正在合併兩個不同的API。有Microsoft Graph APIAzure Active Directory Graph API;這是兩個完全不同的API。雖然它們之間存在很多功能重疊,但它們之間的通話不可互換。

我建議考慮看看這些微軟圖形API樣本,而不是:

+0

我明白你說什麼,我現在檢查我的代碼,因爲它的一部分引用了MS Graph API,而另一部分引用了Azure AD Graph API。我更喜歡在我的項目中使用MS Graph API,因此我將專注於此領域。我意識到我的UserProfileController依賴於MS Graph,而UserController依賴於Azure AD。謝謝。 –

+0

好吧,我試圖使用'aspnet-snippets-example'並使其工作得很好,但是現在我反對試圖拉取自定義目錄擴展名,如前面發佈的圖形URL中所示。再次,我嘗試更新ViewModel,以包含目錄擴展的解決方案,但我仍然無法獲得它,因爲它引用了圖形用戶對象。幫幫我? –

+0

我相信你正在尋找['User']的'Extensions'屬性(https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph/Models/Generated /User.cs)。 –

相關問題