J'essaie d'interroger une extension de répertoire personnalisée qui a été ajoutée à notre objet utilisateur dans Azure AD. J'utilise la solution trouvée here.Comment obtenir une extension de répertoire dans Azure AD à l'aide de MS Graph
Je suis en mesure d'obtenir la propriété en utilisant UserProfileController et en mettant à jour le modèle pour avoir notre propriété d'extension personnalisée (voir les deux extraits de code ci-dessous).
Modèles/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; }
}
Voir/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>
}
Mon objectif est d'avoir l'extension extension_ExtId_ExtName
apparaissent sur une liste d'utilisateurs. J'essaie d'utiliser UsersController
de la solution et afficher pour obtenir cette information, mais il semble que le modèle d'utilisateur Microsoft Graph API ne peut pas être modifié. Le modèle est défini sur IEnumerable<User>
pour lequel les contrôles Microsoft Graph Client.
Comment puis-je ajouter mon extension personnalisée pour pouvoir la récupérer à partir de l'objet Utilisateur?
J'ai confirmé que je peux l'obtenir via l'objet utilisateur en allant au graphique Explorer et mettre mon URL de requête:
https://graph.microsoft.com/beta/users('{[email protected]}')?select=extension_EXTENSION-ID_extensionName
Merci
Je vois ce que vous dites et je suis Je passe maintenant en revue mon code car une partie de celui-ci fait référence à l'API MS Graph alors qu'une autre partie fait référence à Azure AD Graph API. Je préférerais utiliser MS Graph API dans mon projet, donc je vais me concentrer dans ce domaine. J'ai réalisé que mon UserProfileController repose sur MS Graph et UserController repose sur Azure AD. Je vous remercie. –
Ok, j'ai essayé d'utiliser 'aspnet-snippets-example' et je l'ai fait fonctionner à merveille, mais maintenant je suis contre d'essayer d'extraire l'extension de répertoire personnalisée comme indiqué dans l'URL du graphique que j'ai posté plus tôt. Encore une fois, j'ai essayé de mettre à jour le ViewModel pour la solution afin d'inclure l'extension du répertoire, mais je n'ai pas pu l'obtenir car il référence l'objet Utilisateur graphique. Aidez-moi? –
Je crois que vous recherchez la propriété 'Extensions' de [' User'] (https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph/Models/Generated /User.cs). –