Mettre à niveau vers la dernière version du Kit de ressources Microsoft Graph

Cet article fournit un résumé des changements cassants introduits dans les versions du Kit de ressources Microsoft Graph et de la façon dont ces modifications peuvent affecter votre solution.

Kit de ressources Microsoft Graph v4.0

Suppression de la prise en charge d’ES5 et mgt-loader

Microsoft Graph Toolkit v4.0 supprime la prise en charge d’ES5 et l’utilisation mgt-loader comme moyen d’importer le kit de ressources dans votre application via CDN. Si vous utilisez mgt-loader, vous devez modifier votre code pour importer les modules.

Le code suivant :

<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>

Devient ce qui suit :

<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>

Suppression du package pour la mgt-spfx création de composants WebPart SharePoint Framework

Microsoft Graph Toolkit v4.0 supprime le package pour la @microsoft/mgt-spfx création de SharePoint Framework composants WebPart. Pour garantir une expérience exceptionnelle pour nos développeurs SharePoint, nous avons amélioré notre @microsoft/mgt-spfx-utils package et nos fonctionnalités de levée d’ambiguïté pour offrir une intégration transparente entre SPFx et le kit de ressources. Ce changement cassant ouvre la voie à une meilleure expérience de développement et à davantage de fonctionnalités à l’avenir.

Les énumérations sont désormais des unions de chaînes

Microsoft Graph Toolkit v4.0 modifie la façon dont les énumérations sont définies. Au lieu d’utiliser enum pour définir les valeurs, le kit de ressources utilise désormais des unions de chaînes. Cette modification offre de meilleurs typages et une expérience de développement meilleure et uniforme, en particulier pour les développeurs React. Cette modification affecte AvatarType, , ViewTypeUserType, PersonType, GroupTypeResponseType, et PersonCardInteraction. Par exemple, au lieu d’utiliser ViewType comme suit :

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

Vous utilisez ViewType maintenant comme suit :

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

mgt-tasks est maintenant mgt-planner

Pour mieux s’aligner sur le nommage Microsoft 365, mgt-tasks a été renommé mgt-planneren . Cela signifie également que le composant mis à jour mgt-planner ne prend plus en charge data-source le passage aux tâches Outlook.

Autorisations requises pour mgt-person et mgt-planner

Nous avons profité de l’occasion pour simplifier et adhérer à une approche moins privilégiée pour les autorisations requises par mgt-person et mgt-planner.

  • Dans les applications utilisant mgt-person, les utilisateurs peuvent avoir besoin de donner leur consentement à de nouvelles étendues d’autorisations. Pour plus d’informations, consultez le tableau des autorisations du composant.
  • Autorisation minimale pour mgt-planner la modification de à Group.ReadWrite.AllTasks.ReadWrite pour les opérations d’écriture et de à Group.Read.AllTasks.Read pour les opérations de lecture.

prepScopes() est maintenant conscient des étendues d’autorisation autorisées

La prepScopes() fonction accepte désormais un tableau d’étendues qui est vérifié par rapport au jeu d’étendues d’autorisations actuellement consentées pour l’utilisateur actuel. Si l’une des étendues fournies est trouvée, aucune étendue supplémentaire n’est demandée. Si aucune correspondance n’est trouvée, l’utilisateur est invité à donner son consentement pour la première étendue du tableau d’étendues fourni. Cela facilite l’expérience utilisateur et permet aux développeurs d’utiliser une approche moins privilégiée.

L’inscription des composants est désormais requise

Les développeurs doivent appeler explicitement la fonction register pour tous les composants web utilisés dans leur application lors de l’utilisation de composants à partir de @microsoft/mgt-components . L’importation à partir de la racine de n’a @microsoft/mgt-components plus d’effet secondaire d’inscription automatique. Par exemple, au lieu d’utiliser import { Person } from '@microsoft/mgt-components'; , vous devez utiliser import { Person } from '@microsoft/mgt-components; et appeler registerMgtPersonComponent().

Remarque

Les composants de inscrivent @microsoft/mgt-react automatiquement le composant web sous-jacent lorsqu’ils sont utilisés pour la première fois. Dans les cas où les composants React ne sont pas utilisés, les composants ne sont pas automatiquement inscrits dans le navigateur. Cela entraîne un changement cassant lorsque ces applications émettent un balisage de composant web brut au lieu d’utiliser les composants wrapper. Veillez à utiliser les registerMgt{Name}Component() fonctions .

MgtPersonCard n’a plus de propriété de configuration statique

Cette configuration a été déplacée vers la MgtPersonCardConfig classe pour permettre aux développeurs d’importer la configuration et la fonction associée getMgtPersonCardScopes() au niveau supérieur de leur application sans ajouter automatiquement le poids du composant et des dépendances complets mgt-person-card au fichier d’entrée de leurs applications. Cela permet de réduire la taille des bundles et d’améliorer l’expérience globale des développeurs.

mgt-people-picker n’affiche pas la présence par défaut

Comportement par défaut des mgt-people-picker modifications afin que la présence de l’utilisateur ne soit pas affichée, sauf si l’attribut show-presence ou la showPresence propriété est défini. Cette modification permet d’améliorer les performances pour les applications qui n’ont pas besoin d’afficher la présence et d’adopter une approche avec des privilèges minimum.

Microsoft Graph Toolkit v3.0

Modification de l’infrastructure de conception en composants web de l’interface utilisateur Fluent

Pour rester conforme et s’aligner sur l’apparence moderne de Microsoft 365, le Kit de ressources Microsoft Graph utilise désormais les composants web de l’interface utilisateur Fluent. Nous vous recommandons de mettre à jour certains de vos styles avec le système de conception Fluent 2.

La plupart des jetons de conception fournis pour personnaliser l’apparence de nos composants ont été modifiés. Pour plus d’informations, consultez la section Propriétés personnalisées CSS des articles relatifs à chaque composant.

Mise à niveau du Kit de développement logiciel (SDK) Microsoft Graph JS de 2.x vers 3.x

Si vous avez utilisé le client Microsoft Graph via , globalProvideril a été mis à jour vers la version 3.x. Pour plus d’informations sur la façon dont cette modification peut vous affecter, consultez guide de mise à niveau du Kit de développement logiciel (SDK) Microsoft Graph JS.

Mise à niveau de Lit 1.x vers Lit 2.x

Si vous avez créé des composants personnalisés par-dessus le kit de ressources, consultez le guide de mise à niveau lit pour plus d’informations sur la façon dont cette modification peut vous affecter.

Les structures d’objet modifiées et les typages sont disponibles pour les événements émis par nos composants

Dans cette version, les structures d’objets de certains événements ont changé pour offrir une meilleure expérience de développement. Tous les événements sont typés avec précision à l’aide du CustomEvent<T> type générique pour vous aider à fournir du code de haute qualité. Pour plus d’informations, consultez la section Événements des articles relatifs à chaque composant.

Autorisations modifiées dans le sélecteur de canaux Teams

Le MgtTeamsChannelPickerConfig a été supprimé et le composant sélecteur de canaux Teams utilise Team.ReadBasic.All désormais uniquement les étendues et Channel.ReadBasic.All au lieu des étendues et Group.Read.All héritéesUser.Read.All. Cette modification permet à votre application d’utiliser une approche avec privilèges minimum.

Suppression de plusieurs fournisseurs

Dans cette version, plusieurs fournisseurs ont été supprimés pour garantir la sécurité de vos applications et offrir la meilleure expérience possible à vos utilisateurs (prise en charge de l’accès conditionnel, évaluation continue de l’accès, etc.). Les fournisseurs suivants ont été supprimés :

  • Fournisseur Teams
  • Fournisseur MSAL2 Teams
  • Fournisseur MSAL

Étapes suivantes

  • Mettez à jour vos solutions vers la version 3 du Kit de ressources.
  • Signalez des bogues ou déposez une demande de fonctionnalité sur GitHub.