Упражнение. Показ сообщений электронной почты пользователя
В этом упражнении вы расширите приложение, чтобы пользователи могли просматривать свои последние 10 писем.
Загрузка писем из Microsoft Graph
Начните с добавления вызова к Microsoft Graph, чтобы загрузить последние 10 писем текущего пользователя.
В редакторе кода откройте файл graph.js.
В конце файла добавьте новую асинхронную функцию, чтобы получить последние 10 писем. Загрузите тему каждого письма, а также дату и время, когда оно было получено.
async function getEmails() { ensureScope('mail.read'); return await graphClient .api('/me/messages') .select('subject,receivedDateTime') .orderby('receivedDateTime desc') .top(10) .get(); }
Добавление заполнителя для отображения писем
Далее расширьте приложение, добавив кнопку для загрузки писем и заполнитель для их отображения.
В редакторе кода откройте файл index.html.
Найдите строку
<h4>Welcome <span id="userName"></span></h4>
и добавьте следующие исправления сразу после нее:<button onclick="displayEmail();" id="displayEmail">Show email</button> <ul id="emails"></ul>
Расширьте блок содержимого, добавив кнопку для загрузки писем и заполнитель для их отображения.
<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>
Отображение писем в приложении
Последний шаг — это запросить письма с помощью Microsoft Graph и отобразить их вместо заполнителя.
В редакторе кода откройте файл ui.js.
В конце файла добавьте функцию
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); }); }
Запуск приложения
Вы расширили приложение для отображения писем пользователя с помощью Microsoft Graph. Запустим приложение локально.
Предварительно просмотрите веб-приложение, выполнив следующую команду в терминале.
npm start
Браузер должен указывать на
http://localhost:8080
.Нажмите кнопку Войти с помощью учетной записи Майкрософт, чтобы войти с помощью учетной записи Microsoft 365.
Выполнив вход с помощью учетной записи, нажмите кнопку Показать почту.
Если вы запускаете приложение в первый раз, вам будет предложено предоставить приложению доступ к вашей почте. Чтобы продолжить, дайте согласие.
После этого последние 10 писем должны отобразиться в приложении.
Совет
Если вы не видите писем, убедитесь в их наличии в папке "Входящие" учетной записи, с помощью которой вы вошли в приложение.