getContext関数は、アプリとサインインしているユーザーに関するコンテキスト情報を取得します。 この情報により、アプリはパーソナライズされたエクスペリエンスを提供し、メタデータに基づいて実行時に情報に基づいた意思決定を行うことができます。
getContext関数は、コンテキスト データを取得するために Web プレーヤーと通信します。 軽量に設計されており、メタデータと認証関連のプロパティに重点を置いています。
コンテキスト データを使用する理由
getContext関数によって返されるコンテキスト データは、アプリとユーザーに関する豊富な詳細を提供し、基本的なアプリ機能を超えるシナリオを可能にします。 これらのプロパティが重要な理由は次のとおりです。
拡張テレメトリとデバッグ:
sessionIdなどのパラメーターを使用すると、アプリ セッションをプラットフォーム テレメトリと関連付け、問題のトラブルシューティングを簡単に行うことができます。 IAppContext.appId や IUserContext.userPrincipalName などの識別子にアクセスすると、使用パターンを追跡し、問題をすばやく診断できます。パーソナライズされたエクスペリエンス: ユーザー コンテキストプロパティは、追加のデータ呼び出しを必要とせずにパーソナル化を簡素化します。 ユーザー ID に基づいてアプリの動作を調整し、さまざまなロールまたは個人に動的なエクスペリエンスを提供できます。
機能コントロールと条件付きロジック: パラメーターは、機能ゲートまたはフラグとして機能できるため、特定のユーザーまたは環境に対して機能をオンまたはオフにすることができます。 また、コンテキストに応じて異なる UI 要素またはワークフローを表示するために使用することもできます。
Canvas Apps との一貫性: これらのパラメーターは、キャンバス アプリで使用できるセッションの詳細と一致しますが、コードで直接使用できるようになり、柔軟性が向上します。
Steps
initialize関数とgetContext関数をインポートするimport { initialize, getContext } from '@microsoft/power-apps/app';初期化
SDK が完全に初期化されるようにデータ呼び出しを行う前に、
initialize関数を呼び出して完了するまで待機する必要があります。await initialize();コンテキストの取得
getContextを非同期関数として呼び出して、コンテキスト オブジェクトを取得します。const ctx = await getContext(); // Now you can access these context properties const appId = ctx.app.appId const environmentId = ctx.app.environmentId const queryParams = ctx.app.queryParams const fullName = ctx.user.fullName const objectId = ctx.user.objectId const tenantId = ctx.user.tenantId const userPrincipalName = ctx.user.userPrincipalName const sessionId = ctx.host.sessionId
API 応答
返されるコンテキストは 、IContext インターフェイスを実装します。
IContext
次の表では、 IContext インターフェイスで使用できるプロパティについて説明します。
| プロパティ | タイプ | Description |
|---|---|---|
app |
IAppContext | アプリのコンテキスト |
user |
IUserContext | ユーザーのコンテキスト |
host |
IHostContext | ホストのコンテキスト |
IAppContext
次の表では、 IAppContext インターフェイスで使用できるプロパティについて説明します。
| プロパティ | タイプ | Description |
|---|---|---|
appId |
文字列 | 再生されているアプリの ID |
environmentId |
文字列 | アプリが存在する環境の ID |
queryParams |
Record<string、string> | URL に追加されたクエリ パラメーター |
ユーザーコンテキスト
次の表では、 IUserContext インターフェイスで使用できるプロパティについて説明します。
| プロパティ | タイプ | Description |
|---|---|---|
fullName |
文字列 | アプリをプレイしているユーザーの完全な名前 |
objectId |
文字列 | アプリをプレイしているユーザーの ID |
tenantId |
文字列 | アプリが存在するテナントの ID |
userPrincipalName |
文字列 | アプリをプレイしているユーザーの UPN |
IHostContext
次の表では、 IHostContext インターフェイスで使用できるプロパティについて説明します。
| プロパティ | タイプ | Description |
|---|---|---|
sessionId |
文字列 | 現在のセッションの ID。 これは、アプリが開かれるたびに変更されます |