---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# spContextManager :クライアント

# spContextManager :クライアント {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：6分

サービスポータル ウィジェットのデータをサービスポータルページ内の他のアプリケーションやサービスで使用できるようにします。たとえば、ウィジェットがサービスポータルページで開かれたときにウィジェットデータをエージェントチャットに渡します。

spContextManager API は、サービスポータル ウィジェットクライアントスクリプトで使用できる AngularJS サービスです。

この API に渡されるキーはページごとに一意です。たとえば、「 `agent-chat」` キーがページ上の別のウィジェットによって addContext() メソッドによって既に初期化されている場合は、 updateContextForKey() メソッドを使用してキーのデータを更新する必要があります。 使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャット に送信します。

エージェントチャットへのデータの渡しの詳細については、「[サービスポータルでのエージェントチャットの構成](https://www.servicenow.com/docs/access?context=configure-va-in-sp&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)」を参照してください。

## spContextManager:addContext(文字列キー、オブジェクトコンテキスト) {#ariaid-title2}

キーを初期化し、ウィジェットデータを値として追加します。たとえば、「agent-chat」キーにデータを追加して、 エージェントチャットが使用できるようにします。
サービスポータルページの特定のキーに初めてデータを追加するときは、このメソッドを使用します。キーがページ上の別のウィジェットで既に使用されている場合は、代わりに updateContextForKey() メソッドを使用します。
{#SPCM-addContext_S_O__table_dsz_dcz_qhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| key | 文字列 | データを送信するキーの名前。 使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。 |
| context | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: `{'approval_count': 5}`。 |
[表 : 1. パラメーター]

{#SPCM-addContext_S_O__table_dsz_dcz_qhb} {#SPCM-addContext_S_O__table_esz_dcz_qhb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 2. 返される内容]

{#SPCM-addContext_S_O__table_esz_dcz_qhb}  
`approval_count` を エージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、`&sysparm_approval_count=5` が エージェントチャット `iframe` URL に追加されます。

    function ($scope, spContextManager) {
        spContextManager.addContext('agent-chat', {
            'approval_count': 5       
        });
    };

## spContextManager:getContext() {#ariaid-title3}

ページ上のウィジェットによって定義された各キーと関連データオブジェクトを返します。
この方法を使用すると、パフォーマンスが低下する可能性があります。このメソッドを使用して、ページで初期化されるキーを把握し、その現在の値を取得します。アクセスする必要があるキーがわかっている場合は、代わりに getContextForKey() メソッドを使用します。
{#SPCM-getContext__table_qgk_tdz_qhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 3. パラメーター]

{#SPCM-getContext__table_qgk_tdz_qhb} {#SPCM-getContext__table_rgk_tdz_qhb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | ページで定義された各キーおよび関連するデータオブジェクト。 |
[表 : 4. 返される内容]

{#SPCM-getContext__table_rgk_tdz_qhb}  

    function ($scope, spContextManager) {
      spContextManager.getContext();
    } 

## spContextManager:getContextForKey(文字列キー、ブール値 returnPromise) {#ariaid-title4}

キーに関連付けられたウィジェットデータを返します。
{#SPCM-getContextForKey_S_B__table_w2r_jcz_qhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| key | 文字列 | コンテキストを取得するキーの名前。使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャットに送信します。 |
| returnPromise | ブーリアン | キーに関連付けられたデータを Promise またはオブジェクトとして返すかどうかを決定するフラグ。次の値が含まれます。 * True:データを Promise として返します。ページ上の別のウィジェットが addContext() メソッドを使用して同じキーを初期化する場合は、このオプションを使用します。Promise を返すと、キーがまだ初期化されていないときに未定義のオブジェクトが返されるのを防ぎます。 * False:キーに関連付けられたデータを含むオブジェクトを返します。 {#SPCM-getContextForKey_S_B__ul_ccf_jvc_shb} |
[表 : 5. パラメーター]

{#SPCM-getContextForKey_S_B__table_w2r_jcz_qhb} {#SPCM-getContextForKey_S_B__table_x2r_jcz_qhb__entry__2}

| タイプ | 説明 |
|-|-|
| Promise | returnPromise が true の場合、ページ上の別のウィジェットがキーを初期化したときに履行される promise を返します。 |
| オブジェクト | returnPromise が false の場合、キーに関連付けられたデータを含むオブジェクトを返します。例: `{approval_count: 5}`。 |
[表 : 6. 返される内容]

{#SPCM-getContextForKey_S_B__table_x2r_jcz_qhb}  
`approval_count` を エージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、`&sysparm_approval_count=5` が エージェントチャット `iframe` URL に追加されます。

    function ($scope, spContextManager) {
      spContextManager.getContextForKey('agent-chat', true).then(function(context) {
        context = context || {};
        context.approval_count = 5; 
        spContextManager.updateContextForKey('agent-chat', context);
      });
    } 

## spContextManager - updateContextForKey(文字列キー, オブジェクトコンテキスト) {#ariaid-title5}

既存のキーにデータを送信します。たとえば、ページ上の別のウィジェットが「agent-chat」キーを使用して エージェントチャット 構成にデータを渡す場合は、 addContext() メソッドを使用するのではなく、キーのコンテキストを更新する必要があります。
{#SPCM-updateContextForKey_S_O__table_mhr_lcz_qhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| key | 文字列 | データを送信するキーの名前。 使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。 |
| context | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: `{'approval_count': 5}`。 |
[表 : 7. パラメーター]

{#SPCM-updateContextForKey_S_O__table_mhr_lcz_qhb} {#SPCM-updateContextForKey_S_O__table_nhr_lcz_qhb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 8. 返される内容]

{#SPCM-updateContextForKey_S_O__table_nhr_lcz_qhb}  
`approval_count` を エージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、`&sysparm_approval_count=5` が エージェントチャット `iframe` URL に追加されます。

    function ($scope, spContextManager) {
      spContextManager.getContextForKey('agent-chat', true).then(function(context) {
        context = context || {};
        context.approval_count = 5; 
        spContextManager.updateContextForKey('agent-chat', context);
      });
    } 


