最新バージョンの 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-spfx
SharePoint Framework Web パーツをビルドするためのパッケージが削除されます。 SharePoint 開発者にとって優れたエクスペリエンスを確保するために、SPFx とツールキットのシームレスな統合を提供するために、パッケージとあいまいさを解消する機能を改善しました@microsoft/mgt-spfx-utils
。 この破壊的変更により、将来の開発者エクスペリエンスとより多くの機能が向上する道が開けます。
列挙型が文字列和集合になりました
Microsoft Graph Toolkit v4.0 では、列挙型の定義方法が変更されます。 を使用して enum
値を定義する代わりに、ツールキットで文字列和集合が使用されるようになりました。 この変更により、特にReact開発者にとって、入力が向上し、開発者エクスペリエンスが向上します。 この変更は、AvatarType
、ViewType
、、UserType
、GroupType
PersonType
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
されたコンポーネントが Outlook タスクへの切り替えをサポート data-source
しなくなったことも意味します。
および に mgt-person
必要なアクセス許可 mgt-planner
と で必要なmgt-person
mgt-planner
アクセス許可に対する最小限の特権アプローチを簡素化し、遵守する機会を得ました。
- を使用
mgt-person
するアプリケーションでは、ユーザーが新しいアクセス許可スコープに同意する必要がある場合があります。詳細については、コンポーネントの アクセス許可テーブル を参照してください。 - 書き込み操作の
mgt-planner
場合は からGroup.ReadWrite.All
にTasks.ReadWrite
、読み取り操作の場合は からGroup.Read.All
にTasks.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 にアップグレードしました
を介して globalProvider
Microsoft Graph クライアントを使用している場合は、3.x に更新されました。 この変更がユーザーにどのような影響を与えるかの詳細については、「 Microsoft Graph JS SDK アップグレード ガイド」を参照してください。
Lit 1.x から Lit 2.x にアップグレード
ツールキットの上にカスタム コンポーネントをビルドしている場合は、この変更がユーザーにどのような影響を与えるかの詳細については、 Lit アップグレード ガイド を参照してください。
コンポーネントによって生成されるイベントに対して、オブジェクトの構造が変更され、型指定が使用できます
このリリースでは、開発者エクスペリエンスを向上させるために、一部のイベントのオブジェクト構造が変更されました。 すべてのイベントは、高品質のコードを CustomEvent<T>
提供するのに役立つジェネリック型を使用して正確に型指定されます。 詳細については、各コンポーネントの記事の「イベント」セクションを参照してください。
Teams チャネル ピッカーで変更されたアクセス許可
がMgtTeamsChannelPickerConfig
削除され、Teams チャネル ピッカー コンポーネントでは、レガシUser.Read.All
Group.Read.All
とスコープではなく、 と Channel.ReadBasic.All
スコープのみが使用Team.ReadBasic.All
されるようになりました。 この変更により、アプリケーションで最小限の特権アプローチを使用できるようになります。
複数のプロバイダーを削除しました
このリリースでは、アプリのセキュリティを維持し、ユーザーに可能な限り最適なエクスペリエンスを提供するために、複数のプロバイダーが削除されました (条件付きアクセスのサポート、継続的なアクセス評価など)。 次のプロバイダーが削除されました。
- Teams プロバイダー
- Teams MSAL2 プロバイダー
- MSAL プロバイダー
次の手順
- ソリューションを Toolkit バージョン 3 に更新します。
- バグを報告するか、GitHub に機能リクエストを残してください。