注意
Microsoft Graph Toolkit は非推奨です。 2025 年 9 月 1 日から、2026 年 8 月 28 日に完全な退職が予定されています。 開発者は、Web エクスペリエンスを構築するために、Microsoft Graph SDK またはその他のサポートされている Microsoft Graph ツールを使用して移行する必要があります。 詳細については、 非推奨のお知らせを参照してください。
この記事では、Microsoft Graph Toolkit のバージョンで導入された破壊的変更の概要と、これらの変更がソリューションに与える影響について説明します。
Microsoft Graph Toolkit v4.0
ES5 と ES5 のサポートの削除 mgt-loader
Microsoft Graph Toolkit v4.0 では、ES5 のサポートが削除され、CDN 経由でアプリケーションにツールキットをインポートする方法として 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>
SharePoint Framework Web パーツをビルドするためのmgt-spfx パッケージの削除
Microsoft Graph Toolkit v4.0 では、web パーツをビルドするための@microsoft/mgt-spfx パッケージSharePoint Framework削除されます。 SharePoint 開発者にとって優れたエクスペリエンスを確保するために、SPFx とツールキットのシームレスな統合を提供するために、 @microsoft/mgt-spfx-utils パッケージと あいまいさを解消 する機能を改善しました。 この破壊的変更により、将来の開発者エクスペリエンスとより多くの機能が向上する道が開けます。
列挙型が文字列和集合になりました
Microsoft Graph Toolkit v4.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 コンポーネントは、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スコープではなく、Team.ReadBasic.AllスコープとChannel.ReadBasic.Allスコープのみが使用されるようになりました。 この変更により、アプリケーションで最小限の特権アプローチを使用できるようになります。
複数のプロバイダーを削除しました
このリリースでは、アプリのセキュリティを維持し、ユーザーに可能な限り最適なエクスペリエンスを提供するために、複数のプロバイダーが削除されました (条件付きアクセスのサポート、継続的なアクセス評価など)。 次のプロバイダーが削除されました。
- Teams プロバイダー
- Teams MSAL2 プロバイダー
- MSAL プロバイダー
次の手順
- ソリューションを Toolkit バージョン 3 に更新します。
- バグを報告するか、GitHub に機能リクエストを残してください。