Поделиться через


Обновление до последней версии Microsoft Graph Toolkit

В этой статье приводятся сведения о критических изменениях, внесенных в версии Microsoft Graph Toolkit, и о том, как эти изменения могут повлиять на решение.

Набор средств Microsoft Graph версии 4.0

Удаление поддержки для ES5 и mgt-loader

Microsoft Graph Toolkit версии 4.0 снижает поддержку ES5 и использует mgt-loader в качестве способа импорта набора средств в приложении через CDN. Если вы используете mgt-loader, необходимо изменить код для импорта модулей.

Следующий код:

<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
<mgt-msal2-provider client-id="[CLIENT-ID]"></mgt-msal2-provider>
<mgt-login></mgt-login>

Становится следующим:

<script type="module">
  import { registerMgtComponents, Providers, Msal2Provider } from 'https://unpkg.com/@microsoft/mgt@4';
  Providers.globalProvider = new Msal2Provider({clientId: '[CLIENT-ID]'});
  registerMgtComponents();
</script>

<mgt-login></mgt-login>

Удаление пакета для сборки mgt-spfx веб-частей SharePoint Framework

Microsoft Graph Toolkit версии 4.0 удаляет @microsoft/mgt-spfx пакет для создания SharePoint Framework веб-частей. Чтобы обеспечить отличные возможности для разработчиков SharePoint, мы улучшили наш @microsoft/mgt-spfx-utils пакет и возможности дизамбига , чтобы обеспечить беспроблемную интеграцию между SPFx и набором средств. Это критическое изменение открывает путь к лучшему интерфейсу разработки и дополнительным функциям в будущем.

Перечисления теперь являются строковыми объединениями.

Microsoft Graph Toolkit версии 4.0 изменяет способ определения перечислений. Вместо использования для enum определения значений набор средств теперь использует строковые объединения. Это изменение обеспечивает улучшенные типизации, а также улучшенный и единообразный интерфейс для разработчиков, особенно для React разработчиков. Это изменение влияет на AvatarType, ViewType, UserType, PersonType, GroupType, ResponseTypeи PersonCardInteraction. Например, вместо следующего:ViewType

<Person personQuery="me" view={ViewType.twolines}></Person>

Теперь вы используете ViewType следующее:

<Person personQuery="me" view="twolines"></Person>

mgt-tasks — сейчас mgt-planner

Чтобы лучше соответствовать именованию Microsoft 365, mgt-tasks был переименован в mgt-planner. Это также означает, что обновленный mgt-planner компонент больше не поддерживает data-source переключение на задачи Outlook.

Необходимые разрешения для mgt-person и mgt-planner

Мы воспользовались возможностью, чтобы упростить и придерживаться подхода с наименьшими привилегиями для разрешений, необходимых mgt-person для и mgt-planner.

  • В приложениях, использующих mgt-person, пользователям может потребоваться согласие на новые области разрешений. Дополнительные сведения см. в таблице разрешений для компонента.
  • Минимальное разрешение для mgt-planner измененных с Group.ReadWrite.All на Tasks.ReadWrite для операций записи и с Group.Read.All на Tasks.Read для операций чтения.

prepScopes() теперь известно о областях разрешений, разрешенных

Функция prepScopes() теперь принимает массив областей, которые проверяются на соответствие набору областей разрешений, разрешенных в настоящее время для текущего пользователя. При обнаружении любой из указанных областей дополнительные области не запрашиваются. Если совпадение не найдено, пользователю предлагается предоставить согласие на первую область в предоставленном массиве областей. Это помогает обеспечить взаимодействие с пользователем и позволяет разработчикам использовать наименее привилегированный подход.

Теперь требуется регистрация компонентов

Разработчики должны явно вызывать функцию register для всех веб-компонентов, используемых в их приложении при использовании компонентов из @microsoft/mgt-components . Импорт из корневого @microsoft/mgt-components каталога больше не имеет побочного эффекта автоматической регистрации. Например, вместо использования import { Person } from '@microsoft/mgt-components'; необходимо использовать import { Person } from '@microsoft/mgt-components; и вызывать registerMgtPersonComponent().

Примечание.

Компоненты из @microsoft/mgt-react автоматически регистрируют базовый веб-компонент при первом использовании. В случаях, когда компоненты React не используются, компоненты не регистрируются автоматически в браузере. Это приводит к критическому изменению, когда эти приложения выдают необработанную разметку веб-компонента, а не используют компоненты оболочки. Убедитесь, что вы используете registerMgt{Name}Component() функции.

MgtPersonCard Больше не имеет свойства статической конфигурации

Эта конфигурация перемещена в MgtPersonCardConfig класс , чтобы позволить разработчикам импортировать конфигурацию и связанную getMgtPersonCardScopes() функцию на верхнем уровне приложения без автоматического добавления веса полного mgt-person-card компонента и зависимостей в файл записи для своих приложений. Это помогает уменьшить размер пакетов и улучшить общий опыт разработчика.

mgt-people-picker не отображает присутствие по умолчанию

Поведение по умолчанию mgt-people-picker изменяется таким образом, что присутствие пользователя не отображается, если show-presence не задан атрибут или showPresence свойство. Это изменение помогает повысить производительность приложений, которым не нужно показывать присутствие и использовать подход с наименьшими привилегиями.

Набор средств Microsoft Graph версии 3.0

Изменена платформа проектирования на веб-компоненты пользовательского интерфейса Fluent

Чтобы обеспечить соответствие требованиям и соответствие современному интерфейсу Microsoft 365, Microsoft Graph Toolkit теперь использует веб-компоненты пользовательского интерфейса Fluent. Мы рекомендуем обновить некоторые стили с помощью системы проектирования Fluent 2.

Многие маркеры проектирования, предоставляемые для настройки внешнего вида наших компонентов, изменились. Дополнительные сведения см. в разделе Пользовательские свойства CSS в статьях для каждого компонента.

Пакет SDK microsoft Graph JS обновлен с версии 2.x до 3.x

Если вы использовали клиент Microsoft Graph через globalProvider, он был обновлен до версии 3.x. Дополнительные сведения о том, как это изменение может повлиять на вас, см. в руководстве по обновлению пакета SDK для Microsoft Graph JS.

Обновлено с Lit 1.x до Lit 2.x

Если вы создали пользовательские компоненты поверх набора средств, ознакомьтесь с руководством по обновлению lit , чтобы узнать, как это изменение может повлиять на вас.

Изменены структуры объектов и доступны типы для событий, создаваемых нашими компонентами

В этом выпуске структуры объектов некоторых событий изменились, чтобы обеспечить более эффективное взаимодействие с разработчиком. Все события точно типируются с помощью универсального CustomEvent<T> типа, чтобы помочь вам в доставке высококачественного кода. Дополнительные сведения см. в разделе События статей для каждого компонента.

Разрешения, измененные в средства выбора каналов Teams

Объект MgtTeamsChannelPickerConfig был удален, а компонент выбора каналов Teams теперь использует Team.ReadBasic.All только области и Channel.ReadBasic.All , а не области прежних версий User.Read.All и Group.Read.All . Это изменение позволяет приложению использовать подход с наименьшими привилегиями.

Удалено несколько поставщиков

В этом выпуске было удалено несколько поставщиков, чтобы обеспечить безопасность приложений и обеспечить максимальное удобство работы для пользователей (поддержка условного доступа, непрерывная оценка доступа и т. д.). Следующие поставщики были удалены:

  • Поставщик Teams
  • Поставщик MSAL2 Teams
  • Поставщик MSAL

Дальнейшие действия

  • Обновите решения до версии 3 набора средств.
  • Сообщайте об ошибках и оставляйте запросы на создание функций в GitHub.