Appearance
Are you an LLM? You can read better optimized documentation at /features/notebook/sharing/signed-embed/integration.md for this page in Markdown format
組み込み手順
署名付き埋め込みを外部アプリに組み込む手順です。機能の概要は 署名付き埋め込み を参照してください。
準備
- グローバルナビ > ワークスペース設定 > APIキー を開き、APIキー を作成します。APIキーと APIシークレットを控えます
- ノートブック画面の 共有 > 署名付き埋め込み から公開します
- 設定画面で 権限を付与するAPIキー に、利用する APIキーを追加します
- テナントごとのデータ分離や埋め込み元ドメインの制限が必要な場合は、サーバーサイドパラメータ と 許可されたオリジン を設定します
設定画面の セットアップガイド で、トークン発行用のリクエスト例と埋め込み URL を確認できます。
トークンの発行
サーバー側で次の API を呼び出します。APIシークレットはサーバーサイドのみで扱い、フロントエンドに含めないでください。同一のユーザー(token_user_id)かつ同一の固定値の場合、有効期限内のトークンを再利用できます。別ユーザーや固定値の変更時は再発行してください。
http
POST https://api.codatum.com/api/notebook/issueTokenリクエスト
| フィールド | 必須 | 説明 |
|---|---|---|
api_key | 必須 | APIキー |
api_secret | 必須 | APIシークレット |
integration_id | 必須 | 署名付き埋め込みの ID。設定画面で確認できます |
page_id | 必須 | 表示するページの ID。設定画面で確認できます |
token_user_id | 必須 | 埋め込み先アプリ内のユーザーを一意に識別する ID。監査や実行結果のアクセス制御に使います。Codatum のワークスペース権限には影響しません |
params | 必須 | サーバーサイドパラメータの配列。各要素は param_id と param_value(JSON 文字列化した値)です。設定したサーバーサイドパラメータはすべて含める必要があります。サーバーサイドパラメータを使わない場合も、空配列 [] を送ってください |
expires_in | 任意 | トークンの有効期限(秒)。既定は 3600、最大は 86400 です |
cache_max_age | 任意 | キャッシュの最大有効期間(秒)。既定は 86400、最大は 86400 です。0 はキャッシュ無効です |
レスポンス
| フィールド | 説明 |
|---|---|
token | 発行されたトークン |
フロントエンドへの組み込み
フロントエンドへの組み込みには Codatum Embed SDK を使います。パッケージは次のとおりです。
@codatum/embed: コア SDK@codatum/embed-react: React 向けラッパー@codatum/embed-vue: Vue 向けラッパー
埋め込み URL(embedUrl)は設定画面の セットアップガイド で確認できます。インストール方法・オプション・イベントの詳細は各パッケージの README を参照してください。
ts
import { createEmbed } from '@codatum/embed';
const embed = createEmbed({
container: '#dashboard',
embedUrl: 'https://app.codatum.com/protected/workspace/<wsId>/notebook/<integrationId>',
tokenProvider: async () => {
const res = await fetch('/api/codatum/token', { method: 'POST' });
const data = await res.json();
return { token: data.token };
},
});
await embed.init();tokenProvider は、自社サーバーでトークンを発行して返すコールバックです。初期化時・再読み込み時・トークン期限前の更新時に呼ばれます。
組み込み時のよくある質問は FAQ を参照してください。