Partager via


Configurer les services Microsoft 365 avec microsoft API Graph dans Visual Studio

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 :

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

  1. Dans Explorateur de solutions, choisissez Services connectés pour ouvrir l’onglet Services connectés.
  2. Dans Dépendances de service, cliquez sur le + bouton pour ajouter une nouvelle dépendance de service.
  3. Faites défiler vers le bas et choisissez Accéder aux services Microsoft 365 avec Microsoft Graph.

Visual Studio 2017 et Visual Studio 2019

  1. Dans l’Explorateur de solutions, choisissez Services connectés pour ouvrir l’onglet Services connectés.
  2. Choisissez Accéder aux services Microsoft 365 avec le fournisseur Microsoft Graph .

Configurer l’accès aux données Microsoft 365

  1. 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'.

  1. Sélectionnez Créer une inscription d’application et terminez le processus de création d’une inscription d’application.

  2. 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.
  3. Cliquez sur Terminer.

Mettre à jour les paramètres de l’application

  1. Double-cliquez sur Web.config.

  2. 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 PORT valeur de pour ida:RedirectUri qu’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}.