最新バージョンの Microsoft Graph Toolkit にアップグレードする

この記事では、Microsoft Graph Toolkit のバージョンで導入された破壊的変更の概要と、これらの変更がソリューションに与える影響について説明します。

Microsoft Graph Toolkit v4.0

ES5 と ES5 のサポートの削除 mgt-loader

Microsoft Graph Toolkit v4.0 では、CDN 経由でアプリケーションにツールキットをインポートする方法として、ES5 と を使用 mgt-loader するサポートが低下します。 を使用 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 Web パーツをビルドするためのパッケージの削除

Microsoft Graph Toolkit v4.0 では、@microsoft/mgt-spfxSharePoint Framework Web パーツをビルドするためのパッケージが削除されます。 SharePoint 開発者にとって優れたエクスペリエンスを確保するために、SPFx とツールキットのシームレスな統合を提供するために、パッケージとあいまいさを解消する機能を改善しました@microsoft/mgt-spfx-utils。 この破壊的変更により、将来の開発者エクスペリエンスとより多くの機能が向上する道が開けます。

列挙型が文字列和集合になりました

Microsoft Graph Toolkit v4.0 では、列挙型の定義方法が変更されます。 を使用して enum 値を定義する代わりに、ツールキットで文字列和集合が使用されるようになりました。 この変更により、特にReact開発者にとって、入力が向上し、開発者エクスペリエンスが向上します。 この変更は、AvatarTypeViewType、、UserTypeGroupTypePersonTypeResponseTypeおよび に影響します。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 されたコンポーネントが Outlook タスクへの切り替えをサポート data-source しなくなったことも意味します。

および に mgt-person 必要なアクセス許可 mgt-planner

と で必要なmgt-personmgt-plannerアクセス許可に対する最小限の特権アプローチを簡素化し、遵守する機会を得ました。

  • を使用 mgt-personするアプリケーションでは、ユーザーが新しいアクセス許可スコープに同意する必要がある場合があります。詳細については、コンポーネントの アクセス許可テーブル を参照してください。
  • 書き込み操作の mgt-planner 場合は から Group.ReadWrite.AllTasks.ReadWrite 、読み取り操作の場合は から Group.Read.AllTasks.Read 変更するための最小限のアクセス許可。

prepScopes() 同意されたアクセス許可スコープが認識されるようになりました

関数は prepScopes() 、現在のユーザーの現在同意されているアクセス許可スコープのセットに対してチェックされるスコープの配列を受け入れるようになりました。 指定されたスコープのいずれかが見つかった場合、追加のスコープは要求されません。 一致するものが見つからない場合、ユーザーはスコープの指定された配列の最初のスコープに同意するように求められます。 これにより、ユーザー エクスペリエンスが役立ち、開発者は最小限の特権のアプローチを使用できます。

コンポーネントの登録が必要になりました

開発者は、 の @microsoft/mgt-componentsコンポーネントを使用するときに、アプリケーションで使用されるすべての Web コンポーネントに対して register 関数を明示的に呼び出す必要があります。 の @microsoft/mgt-components ルートからインポートしても、自動登録の副作用はなくなりました。 たとえば、 を使用する代わりに、 を使用import { Person } from '@microsoft/mgt-components';import { Person } from '@microsoft/mgt-components;して を呼び出すregisterMgtPersonComponent()必要があります。

注:

のコンポーネントは @microsoft/mgt-react 、基になる Web コンポーネントが初めて使用されたときに自動的に登録されます。 React コンポーネントが使用されていない場合、コンポーネントはブラウザーに自動的に登録されません。 これにより、これらのアプリケーションがラッパー コンポーネントを使用するのではなく、生の Web コンポーネント マークアップを出力すると、破壊的変更が発生します。 関数を registerMgt{Name}Component() 使用していることを確認します。

MgtPersonCard 静的構成プロパティが存在しなくなりました

この構成はMgtPersonCardConfigクラスに移動され、開発者はアプリケーションのエントリ ファイルに完全なmgt-person-cardコンポーネントと依存関係の重みを自動的に追加することなく、アプリケーションの最上位レベルで構成と関連getMgtPersonCardScopes()する関数をインポートできます。 これにより、バンドル サイズが小さくなり、全体的な開発者エクスペリエンスが向上します。

mgt-people-picker 既定ではプレゼンスが表示されない

属性またはプロパティが mgt-people-picker 設定されていない限り show-presence 、ユーザープレゼンスが表示されないように変更する既定の showPresence 動作。 この変更は、プレゼンスを表示し、最小限の特権アプローチを採用する必要のないアプリケーションのパフォーマンスを向上させるのに役立ちます。

Microsoft Graph Toolkit v3.0

デザイン フレームワークを Fluent UI Web コンポーネントに変更しました

準拠を維持し、Microsoft 365 の最新の外観に合わせて調整するために、Microsoft Graph Toolkit で Fluent UI Web コンポーネントが使用されるようになりました。 Fluent 2 デザイン システムを使用して、スタイルの一部を更新することをお勧めします。

コンポーネントの外観をカスタマイズするために提供される設計トークンの多くが変更されました。 詳細については、各コンポーネントの記事の CSS カスタム プロパティに関するセクションを参照してください。

Microsoft Graph JS SDK を 2.x から 3.x にアップグレードしました

を介して globalProviderMicrosoft Graph クライアントを使用している場合は、3.x に更新されました。 この変更がユーザーにどのような影響を与えるかの詳細については、「 Microsoft Graph JS SDK アップグレード ガイド」を参照してください。

Lit 1.x から Lit 2.x にアップグレード

ツールキットの上にカスタム コンポーネントをビルドしている場合は、この変更がユーザーにどのような影響を与えるかの詳細については、 Lit アップグレード ガイド を参照してください。

コンポーネントによって生成されるイベントに対して、オブジェクトの構造が変更され、型指定が使用できます

このリリースでは、開発者エクスペリエンスを向上させるために、一部のイベントのオブジェクト構造が変更されました。 すべてのイベントは、高品質のコードを CustomEvent<T> 提供するのに役立つジェネリック型を使用して正確に型指定されます。 詳細については、各コンポーネントの記事の「イベント」セクションを参照してください。

Teams チャネル ピッカーで変更されたアクセス許可

MgtTeamsChannelPickerConfig削除され、Teams チャネル ピッカー コンポーネントでは、レガシUser.Read.AllGroup.Read.Allとスコープではなく、 と Channel.ReadBasic.All スコープのみが使用Team.ReadBasic.Allされるようになりました。 この変更により、アプリケーションで最小限の特権アプローチを使用できるようになります。

複数のプロバイダーを削除しました

このリリースでは、アプリのセキュリティを維持し、ユーザーに可能な限り最適なエクスペリエンスを提供するために、複数のプロバイダーが削除されました (条件付きアクセスのサポート、継続的なアクセス評価など)。 次のプロバイダーが削除されました。

  • Teams プロバイダー
  • Teams MSAL2 プロバイダー
  • MSAL プロバイダー

次の手順

  • ソリューションを Toolkit バージョン 3 に更新します。
  • バグを報告するか、GitHub に機能リクエストを残してください。