Exercice : afficher les courriers électroniques d’un utilisateur
Dans cet exercice, vous allez étendre l’application pour permettre aux utilisateurs de consulter leurs 10 derniers e-mails.
Charger les e-mails depuis Microsoft Graph
Commencez par ajouter un appel à Microsoft Graph pour charger les 10 derniers e-mails de l’utilisateur actuel.
Dans votre éditeur de code. ouvrez le fichier graph.js.
À la fin du fichier, ajoutez une nouvelle fonction asynchrone pour récupérer les 10 derniers e-mails. Chargez l’objet de chaque e-mail et la date et l’heure de réception.
async function getEmails() { ensureScope('mail.read'); return await graphClient .api('/me/messages') .select('subject,receivedDateTime') .orderby('receivedDateTime desc') .top(10) .get(); }
Ajouter un espace réservé pour afficher les e-mails
Étendez ensuite l’application avec un bouton de chargement des e-mails, puis ajoutez un espace réservé pour les afficher.
Dans votre éditeur de code, ouvrez le fichier index.html.
Recherchez la ligne
<h4>Welcome <span id="userName"></span></h4>
et ajoutez le balisage suivant immédiatement après :<button onclick="displayEmail();" id="displayEmail">Show email</button> <ul id="emails"></ul>
Étendez l’application avec un bouton de chargement des e-mails et un espace réservé permettant de les afficher.
<div id="content" style="display: none;"> <h4>Welcome <span id="userName"></span></h4> <button onclick="displayEmail();" id="displayEmail">Show email</button> <ul id="emails"></ul> </div>
Afficher les e-mails dans l’application
La dernière étape consiste à demander les e-mails à l’aide de Microsoft Graph, puis à les afficher dans l’espace réservé.
Dans votre éditeur de code, ouvrez le fichier ui.js.
À la fin du fichier, ajoutez la fonction
displayEmail
:async function displayEmail() { var emails = await getEmails(); if (!emails || emails.value.length < 1) { return; } document.getElementById('displayEmail').style = 'display: none'; var emailsUl = document.getElementById('emails'); emails.value.forEach(email => { var emailLi = document.createElement('li'); emailLi.innerText = `${email.subject} (${new Date(email.receivedDateTime).toLocaleString()})`; emailsUl.appendChild(emailLi); }); }
Exécuter votre application
Vous avez étendu votre application pour afficher les e-mails d’un utilisateur à l’aide de Microsoft Graph. Exécuter l’application localement.
Affichez un aperçu de l’application web en exécutant la commande suivante dans le terminal.
npm start
Votre navigateur doit pointer vers
http://localhost:8080
.Sélectionnez Se connecter avec Microsoft pour vous connecter avec votre compte Microsoft 365.
Après vous être connecté avec votre compte, sélectionnez le bouton Afficher l’e-mail.
Si vous exécutez l’application pour la première fois, vous devrez, à l’invite, autoriser l’accès de l’application à votre e-mail. Pour continuer, acceptez la demande.
Les 10 derniers e-mails doivent s’afficher dans l’application.
Conseil
Si vous ne voyez aucun e-mail, assurez-vous que les e-mails sont dans la boîte de réception du compte que vous utilisez pour vous connecter à l’application.