Fusionのコンテキスト参照

NOTE
この記事は、ソフトウェア開発ツールに精通していることを前提としています。

UIがattach(...)を呼び出すと、Fusionは現在のセッションを説明する​コンテキスト オブジェクトを共有します。 このページでは、すべてのフィールド、その意味、およびFusionとAdobe IMSIDの関連付けを説明します。

コンテキストの読み方

  • 初期値: connection.sharedContext.get("<key>")
  • 更新: contextchange イベントをリッスンします。 最新のオブジェクトはevent.detail.contextに届きます。

完全なコードパターンについては、​ カスタム拡張機能UIの構築を参照してください。

const organization = connection.sharedContext.get("organization");
const fusionOrgId  = organization?.id;        // Fusion's organization id
const imsOrgId     = connection.sharedContext.get("imsOrgId"); // Adobe IMS org id

トップレベルキー

キー
タイプ
説明
imsToken
文字列
サインイン ユーザーのAdobe IMS アクセス トークン。 これをBearer トークンとして使用して、ユーザーの代わりにAdobeまたはFusion APIを呼び出します。 機密性が高いため、ログを記録したり、表示したりしないでください。
imsOrgId
文字列
フォーム XXXXXXXXXXXX@AdobeOrgのAdobe IMS組織ID
imsUserId
文字列
サインイン ユーザーのAdobe IMS ユーザーID
organization
オブジェクト
完全にアクティブなFusion組織。 詳しくは、この記事のorganization フィールド ​を参照してください。
team
オブジェクト
未定義
user
オブジェクト
フル サインイン Fusion ユーザー​です。 詳しくは、この記事のuser フィールド ​を参照してください。

Fusion IDとIMS ID

各エンティティには​ Fusion ID ​があり(Fusion独自のAPIで使用)、存在する場合は​Adobe IMSID (Adobe Platform APIで使用)があります。

エンティティ
Fusion id
Adobe IMS id
組織
organization.id
imsOrgIdorganization.externalOrgIdとしても公開)
チーム
team.id
(チームはFusion専用です。IMS IDはありません)
ユーザー
user.id
imsUserId

organization フィールド

これらのフィールドは、アクティブな組織レコードにあります。 ほとんどの拡張機能はidname、および識別子のみを必要とします。

フィールド
タイプ
説明
id
文字列
Fusion組織ID。
name
文字列
組織の表示名
externalOrgId
文字列
Adobe IMS組織ID (imsOrgIdと同じ値)。
externalId
文字列
Fusion統合で使用される外部識別子
countryId
文字列
国設定ID。
timezoneId
文字列
タイムゾーン設定ID
serviceName
文字列
サービス/プランの識別子
teamIds
文字列[]
この組織内のチームのID
license
オブジェクト
運用、データ転送、ユーザーシート、機能フラグなど、プランの制限と使用権限
scenariosCount
数値
組織内のシナリオの合計
activeScenarios
数値
現在アクティブなシナリオ
activeApps
数値
アクティブなアプリまたは接続の数
operations, operationsExt
数値
操作の使用カウンター
transfer, transferExt
数値
データ転送使用カウンター
isPaused
ブール値
組織が一時停止されているかどうか
isDeleted
ブール値
組織が削除済みとマークされているかどうか
imsEnabled
ブール値
Adobe IMSにリンクしている組織かどうか
usersCount
数値
組織内のユーザー数
nextReset
文字列(日付)
使用状況カウンターが次にリセットされたとき。 日付を参照

team フィールド

これらのフィールドは、チームがアクティブな場合に表示されます。 チームがundefinedの場合は、フォールバックを指定する必要があります(例えば、チームが選択されていない組織レベルの画面など)。

フィールド
タイプ
説明
id
文字列
Fusion チーム ID。
name
文字列
チーム表示名。
organizationId
文字列
このチームが属する組織のFusion ID。
country
文字列
チームの国設定:
timezone
文字列
チームタイムゾーン:
license
オブジェクト
チームレベルの制限と使用権限:
activeScenarios
数値
チーム内のアクティブなシナリオ:
activeApps
数値
チーム内のアクティブなアプリまたは接続:
scenarioDrafts
ブール値
シナリオドラフトが有効になっているかどうか。
isDeleted
ブール値
チームが削除済みとマークされているかどうか。
created
文字列(日付)
チームが作成されたとき。 日付を参照してください。

user フィールド

これらのフィールドは、ログインしているFusion ユーザーに適用されます。

フィールド
タイプ
説明
id
文字列
Fusion ユーザーID。
name
文字列
氏名:
email
文字列
メールアドレス:
avatar
文字列
アバター画像のURL:
locale
文字列
enなどのユーザーロケール。
language
文字列
設定した場合の優先言語。
timezone
文字列
タイムゾーン名。
timezoneId
文字列
タイムゾーン設定ID。
countryId
文字列
国設定ID。
localeId
文字列
ロケール設定ID。
features
オブジェクト
ユーザーごとの機能フラグ (例:allow_appspublic_templates
usersAdminsRoleId
文字列
該当する場合、ユーザーの管理者ロール ID。
NOTE
user オブジェクトには、追加の内部フィールドが含まれる場合があります。 ここで説明したフィールドのみに依存してください。 その他のフィールドは予告なく変更される可能性があり、認証関連のフィールドの中にはログを記録したり表示したりしてはならないものもあります。

日付

コンテキストは拡張機能に到達する前にシリアル化されるので、日付フィールドはJavaScript Date オブジェクトではなく文字列 (ISO 8601、"2026-06-24T00:00:00.000Z"など)として到達します。 必要に応じてこれらを変換できます。

const resetDate = new Date(context.organization.nextReset);

コンテキストの更新

次の場合、Fusionはコンテキスト全体(contextchange経由)を再送信します。

  • ユーザー​は組織を切り替えます,
  • ユーザー​ はチーム ​を切り替えるか、または
  • サインイン ユーザーの​情報が変更されます。

1つの値のみを変更すると仮定するのではなく、contextchange ハンドラー内で使用するすべてのキーを常に再読み取りしてください。

セキュリティのベストプラクティス

  • imsTokenを記録、表示、または永続化しない。 パスワードとして扱ってください。
  • 信頼できるAdobe/Fusion エンドポイントにのみ、HTTPS経由でBearer トークンとしてトークンを送信します。
  • 機能が必要とするものを超えたコンテキストから個人データを保存しないでください。

トークンを使用したAPIの呼び出し

imsToken (プラス organization.id / team.id)を実際のWorkfrontに変換するには、または
CORSはブロックするため、Fusion データを使用すると、これらのAPIをブラウザーから直接呼び出すことはできません
it。 代わりに、小さなApp Builder ランタイムアクションを通じて呼び出しをルーティングします。 を参照
WorkfrontおよびFusion APIの呼び出し

カスタム拡張機能の作成プロセスを続行するには、拡張機能の公開を参照してください。

recommendation-more-help
workfront-fusion-help-workfront-fusion