URLからの指定方法

外部でリンクを作成する際に、パラメータを指定する方法

外部でリンクを作成する際に、URLにパラメータを指定することで、既存のパラメータの値を上書きすることができます

対象機能

以下の機能で、URLからパラメータを指定することができます。 これらの機能では、パラメータを変更する度にURLが更新され、URLを他のユーザーと共有することで、パラメータの値を共有することができます

  • ノートブックのバージョン

  • レポート

    • パラメータ編集を許可の設定で公開されている必要があります

    • 自動実行の設定が有効になっている場合、これらのパラメータがマージされた後に自動的に実行されます

    • パラメータのデフォルト値を使用の設定が有効になっている場合でも、URLで指定されたパラメータが優先されます

      • パラメータ全体がデフォルト値にリセットされた後に、URLで指定されたパラメータの更新が反映されます

パラメータの指定方法

パラメータはURLの cdm.params クエリパラメータと同期します。 cdm.params クエリパラメータは以下のような形式になっています。

// ページ遷移時にもパラメータを保持するために、ページID毎にパラメータが保持されます
type Params = {[pageId: string]: {[paramId: string]: string}};

// パラメータの各値は、JSON.stringifyで文字列化して指定します(詳細は後述)
// pageId や paramId は実際は 68783eb9c4b4b71483a1d617 のような文字列になります
const params: Params = {
  "page1": {
    "param1": JSON.stringify("value1"),
    "param2": JSON.stringify(123)
  },
  "page2": {
    "param3": JSON.stringify(true),
    "param4": JSON.stringify(["value1", "value2"])
  }
};

const query = `?cdm.params=${encodeURIComponent(JSON.stringify(params))}`;

ショートカット形式での指定方法

cdm.params クエリパラメータを外部で直接生成するのが困難な場合、 cdm.params.${paramId} 形式のキーと値を指定することで、パラメータを追加指定することもできます。 cdm.paramscdm.params.${paramId} の両方が指定された場合、 cdm.params.${paramId} の値が優先され、両方の値がマージされた新しい cdm.params クエリパラメータが自動的に指定されます。

const paramId = "param1";
// ショートカット形式の場合、パラメータの値は JSON.stringify の文字列化は不要です(詳細は後述)
const value = "string_value";  

const query = `?cdm.params.${paramId}=${encodeURIComponent(value)}`;

// ショートカット形式では空文字列を指定することで、パラメータを空の状態にすることができます
const queryEmpty = `?cdm.params.${paramId}=`;

パラメータの値の指定方法

パラメータの値は、パラメータの種類に応じて以下のように指定します。 ショートカット形式で指定する場合、JSON.stringify の文字列化は不要ですが、URLに指定する際の、encodeURIComponent エンコードは必要です。

種類
指定方法
ショートカット形式

テキスト入力, テキスト選択

JSON.stringify("string_value")

string_value

テキスト複数入力, テキスト複数選択

JSON.stringify(["item1", "item2"])

item1,item2

数値入力, 数値選択

JSON.stringify(123)

123

日付入力

JSON.stringify("2025-01-01")

2025-01-01

日付範囲

JSON.stringify(["2025-01-01", "2025-01-02"])

2025-01-01,2025-01-02

チェックボックス

JSON.stringify(true)またはJSON.stringify(false)

trueまたはfalse

指定方法の説明

  • 配列型のパラメータは、ショートカット形式では , で区切って指定します。

  • 日付入力や日付範囲では YYYY-MM-DD の形式で指定してください

  • 無効なパラメータの値が指定された場合、エラー画面に切り替わります

最終更新

役に立ちましたか?