次の方法で共有


方法: コンテキスト データを取得する (プレビュー)

getContext関数は、アプリとサインインしているユーザーに関するコンテキスト情報を取得します。 この情報により、アプリはパーソナライズされたエクスペリエンスを提供し、メタデータに基づいて実行時に情報に基づいた意思決定を行うことができます。 getContext関数は、コンテキスト データを取得するために Web プレーヤーと通信します。 軽量に設計されており、メタデータと認証関連のプロパティに重点を置いています。

コンテキスト データを使用する理由

getContext関数によって返されるコンテキスト データは、アプリとユーザーに関する豊富な詳細を提供し、基本的なアプリ機能を超えるシナリオを可能にします。 これらのプロパティが重要な理由は次のとおりです。

  • 拡張テレメトリとデバッグ: sessionId などのパラメーターを使用すると、アプリ セッションをプラットフォーム テレメトリと関連付け、問題のトラブルシューティングを簡単に行うことができます。 IAppContext.appIdIUserContext.userPrincipalName などの識別子にアクセスすると、使用パターンを追跡し、問題をすばやく診断できます。

  • パーソナライズされたエクスペリエンス: ユーザー コンテキストプロパティは、追加のデータ呼び出しを必要とせずにパーソナル化を簡素化します。 ユーザー ID に基づいてアプリの動作を調整し、さまざまなロールまたは個人に動的なエクスペリエンスを提供できます。

  • 機能コントロールと条件付きロジック: パラメーターは、機能ゲートまたはフラグとして機能できるため、特定のユーザーまたは環境に対して機能をオンまたはオフにすることができます。 また、コンテキストに応じて異なる UI 要素またはワークフローを表示するために使用することもできます。

  • Canvas Apps との一貫性: これらのパラメーターは、キャンバス アプリで使用できるセッションの詳細と一致しますが、コードで直接使用できるようになり、柔軟性が向上します。

Steps

  1. initialize関数とgetContext関数をインポートする

    import { initialize, getContext } from '@microsoft/power-apps/app'; 
    
  2. 初期化

    SDK が完全に初期化されるようにデータ呼び出しを行う前に、 initialize 関数を呼び出して完了するまで待機する必要があります。

    await initialize(); 
    
  3. コンテキストの取得

    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。 これは、アプリが開かれるたびに変更されます