Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser Microsoft Graph pour consommer les informations utilisateur stockées dans Microsoft 365 dans des applications personnalisées. À l’aide des services connectés dans Visual Studio, vous pouvez accorder à votre application l’accès aux services Microsoft 365 suivants :
- Outlook : courrier, calendriers et contacts
- Microsoft Entra ID : utilisateurs, groupes et répertoires
- OneDrive : fichiers
- OneNote : notes et blocs-notes
- SharePoint : sites, listes et bibliothèques de documents
- Planificateur : tâches
Cet article explique comment configurer Les services connectés dans Visual Studio pour utiliser Microsoft Graph dans une application MVC ASP.NET qui affiche les événements du calendrier de l’utilisateur actuellement connecté.
Configurer
Pour utiliser les services connectés Office 365 avec Microsoft Graph, vous devez :
- Téléchargez Visual Studio. Si vous l’avez déjà, mettez à jour vers la dernière version.
- Obtenez un abonnement Microsoft 365. Si vous n’avez pas d’abonnement Microsoft 365, vous pouvez être admissible à un abonnement via le Programme pour les développeurs Microsoft 365 ; Pour plus d’informations, consultez la FAQ. Vous pouvez également vous inscrire à un essai gratuit de 1 mois ou acheter un plan Microsoft 365.
Obtenir le projet de démarrage
Téléchargez l’exemple d’application MVC Microsoft Graph ASP.NET Connected Services. Cet exemple inclut les références que vous devez authentifier auprès de Microsoft Graph. Après avoir téléchargé le projet de démarrage, décompressez et ouvrez l’exemple graph-tutorial dans Visual Studio.
Ajouter le service connecté
Visual Studio 2022
- Dans Explorateur de solutions, choisissez Services connectés pour ouvrir l’onglet Services connectés.
- Dans Dépendances de service, cliquez sur le + bouton pour ajouter une nouvelle dépendance de service.
- Faites défiler vers le bas et choisissez Accéder aux services Microsoft 365 avec Microsoft Graph.
Visual Studio 2017 et Visual Studio 2019
- Dans l’Explorateur de solutions, choisissez Services connectés pour ouvrir l’onglet Services connectés.
- Choisissez Accéder aux services Microsoft 365 avec le fournisseur Microsoft Graph .
Configurer l’accès aux données Microsoft 365
Entrez le domaine de votre compte de développeur, puis choisissez Suivant.
Accédez centre d’administration Microsoft Entra pour trouver votre nom de domaine. Connectez-vous, développez le menu >Identité, sélectionnez Vue d’ensemble. Le champ Domaine principal de la section Informations de base contient votre nom de domaine.
Pourboire: Si votre adresse principale est
admin@contoso.com, votre domaine est contoso.com'.
Sélectionnez Créer une inscription d’application et terminez le processus de création d’une inscription d’application.
Pour ce didacticiel, sélectionnez les autorisations suivantes :
- Sélectionnez l’onglet Calendriers et case activée la zone Lire vos calendriers pour accorder l’autorisation
Calendar.Readà votre application. - Sélectionnez l’onglet Utilisateur et case activée la zone Connectez-vous et lisez votre profil pour accorder l’autorisation
User.Readà votre application.
- Sélectionnez l’onglet Calendriers et case activée la zone Lire vos calendriers pour accorder l’autorisation
Cliquez sur Terminer.
Mettre à jour les paramètres de l’application
Double-cliquez sur Web.config.
Dans <appSettings>, insérez le code suivant :
<add key="ida:RedirectUri" value="https://localhost:PORT/" /> <add key="ida:AppScopes" value="User.Read Calendars.Read" />Modifiez la
PORTvaleur de pourida:RedirectUriqu’elle corresponde à l’URL de votre application.
Pourboire: Vous trouverez les informations sur le port dans les propriétés du projet.
Exécution de l’exemple
Enregistrez vos modifications et démarrez le projet. Ensuite, sélectionnez le bouton Cliquez ici pour vous connecter qui vous redirige vers https://login.microsoftonline.com. Connectez-vous avec votre compte de développeur et consentez aux autorisations demandées.
La page d’accueil affiche votre nom qui indique que vous êtes connecté. Sous l’onglet Calendrier , une table des événements s’affiche en conséquence pour votre compte.
Sélectionnez Se déconnecter sur l’avatar en haut à droite pour réinitialiser la session et revenir à la page d’accueil.
Explorer le code
Vous pouvez maintenant explorer les fichiers et le code dans Visual Studio pour en savoir plus sur ce projet de démarrage.
Demande à Microsoft API Graph
Helpers\GraphHelper.cs contient les méthodes qui utilisent GraphServiceClient pour envoyer des demandes au service Microsoft Graph. Cette classe implémente la méthode GetUserDetailsAsync qui utilise le Kit de développement logiciel (SDK) Microsoft Graph pour récupérer les informations de l’utilisateur en appelant le point de /me terminaison.
La méthode GetEventsAsync utilise le point de /v1.0/me/events terminaison pour demander des données de calendrier. Le select paramètre de requête OData limite les champs retournés pour chaque événement à ceux affichés dans la vue. Le orderBy paramètre trie les résultats par date et heure de création, l’élément le plus récent étant le premier.
La méthode GetAuthenticatedClient initialise un GraphServiceClient avec un fournisseur d’authentification et tente de récupérer un jeton d’accès obtenu précédemment à partir du magasin de jetons à l’aide de la méthode AcquireTokenSilent . Notez que si AcquireTokenSilent échoue, une connexion interactive s’affiche à l’utilisateur.
Authentification
Le App_Start\Startup.Auth.cs configure l’intergiciel OWIN avec les valeurs de Web.config et définit les méthodes de rappel OnAuthenticationFailedAsync et OnAuthorizationCodeReceivedAsync suivantes qui sont appelées lorsque le processus de connexion est retourné à partir d’Azure.
La méthode OnAuthorizationCodeReceivedAsync encapsule le cache de jetons utilisateur par défaut de ConfidentialClientApplication avec la classe SessionTokenStore . La bibliothèque MSAL gère la logique de stockage des jetons et de l’actualisation si nécessaire. Le code transmet les détails de l’utilisateur obtenus à partir de Microsoft Graph à l’objet SessionTokenStore à stocker dans la session.
Cache de jetons
TokenStorage\SessionTokenCache.cs implémente une classe de magasin de jetons pour sérialiser et stocker le cache de jetons MSAL et les détails de l’utilisateur dans la session utilisateur. Vous pouvez le remplacer par votre propre cache de jetons personnalisé. Pour plus d’informations, consultez Jetons d’accès du cache.
Se connecter et se déconnecter
Controllers \AccountController.cs est un contrôleur permettant de gérer la connexion qui définit une action SignIn et SignOut . L’action SignIn vérifie si la requête est déjà authentifiée. Si ce n’est pas le cas, il appelle l’intergiciel OWIN pour authentifier l’utilisateur. L’action Se déconnecter appelle l’intergiciel OWIN pour se déconnecter.
Affichages
Views\Shared\_Layout.cshtml définit la disposition globale de l’application. Il ajoute Bootstrap pour un style simple et Font Awesome pour les icônes, définit la disposition de la barre de navigation et utilise la classe Alert pour afficher les alertes.
Views\Home\Index.cshtml et Views\Calendar\Index.cshtml contiennent l’interface utilisateur pour afficher les informations récupérées à partir d’Azure.
Besoin d’aide ?
Si vous avez besoin d'aide, postez vos questions sur le site Microsoft Q&A. Marquez votre poste avec {microsoft-graph-identity}.