Fusion上下文引用

NOTE
本文假定您对软件开发工具有一定的了解。

当您的UI调用attach(...)时,Fusion共享一个描述当前会话的​ 上下文 ​对象。 此页面列出了每个字段、其含义以及Fusion和Adobe IMS标识符的关系。

如何阅读上下文

  • 初始值: 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
字符串
Adobe IMS组织ID,格式为XXXXXXXXXXXX@AdobeOrg
imsUserId
字符串
登录用户的Adobe IMS用户ID
organization
对象
完全活动的Fusion组织 有关详细信息,请参阅本文中的organization字段
team
对象
未定义
user
对象
完全登录的Fusion用户。 有关详细信息,请参阅本文中的user字段

Fusion ID和IMS ID

每个实体都有一个​Fusion ID(由Fusion自己的API使用),如果存在,则有一个​Adobe IMS ID(由Adobe平台API使用):

实体
融合ID
Adobe IMS ID
组织
organization.id
imsOrgId (也公开为organization.externalOrgId
团队
team.id
(团队仅限Fusion;无IMS ID)
用户
user.id
imsUserId

organization字段

这些字段可在活动组织记录中找到。 大多数扩展仅需要idname和标识符。

字段
类型
描述
id
字符串
融合组织ID。
name
字符串
组织显示名称
externalOrgId
字符串
Adobe IMS组织ID (与imsOrgId的值相同)。
externalId
字符串
Fusion集成使用的外部标识符
countryId
字符串
国家/地区设置ID。
timezoneId
字符串
时区设置标识
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
字符串
此团队所属组织的融合ID。
country
字符串
团队国家设置。
timezone
字符串
团队时区。
license
对象
团队级别的限制和权利。
activeScenarios
数字
团队中的活动场景。
activeApps
数字
团队中的活动应用程序或连接。
scenarioDrafts
布尔
方案草稿是否已启用。
isDeleted
布尔
团队是否标记为已删除。
created
字符串(日期)
创建团队的时间。 查看日期

user字段

这些字段适用于已登录的Fusion用户。

字段
类型
描述
id
字符串
融合用户ID。
name
字符串
全名。
email
字符串
电子邮件地址。
avatar
字符串
头像图像URL。
locale
字符串
用户区域设置,如en
language
字符串
首选语言(设置时)。
timezone
字符串
时区名称。
timezoneId
字符串
时区设置ID
countryId
字符串
国家/地区设置ID。
localeId
字符串
区域设置标识。
features
对象
每个用户的功能标志(例如allow_appspublic_templates)。
usersAdminsRoleId
字符串
用户的管理员角色ID(如果适用)。
NOTE
user对象可能包含其他内部字段。 您应仅依赖此处记录的字段。 其他字段可以不经通知而更改,并且某些与身份验证相关的字段不得记录或显示。

日期

上下文在到达扩展之前已序列化,因此​日期字段以字符串 (ISO 8601,如"2026-06-24T00:00:00.000Z")形式到达,而不是JavaScript Date对象。 如果需要,您可以转换这些字段:

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

上下文更新

Fusion在以下情况下重新发送整个上下文(通过contextchange):

  • 用户​切换组织
  • 用户​切换组,或
  • 登录用户的​信息已更改。

始终重新读取contextchange处理程序中使用的所有键,而不是假定只更改了一个值。

安全最佳实践

  • 从不记录、显示或保留imsToken 把它当做密码。
  • 仅将该令牌作为Bearer令牌通过HTTPS发送到受信任的Adobe/Fusion端点。
  • 请勿存储超出功能所需上下文的个人数据。

使用令牌调用API

要将imsToken (加organization.id / team.id)转换为真正的Workfront或
对于融合数据,您无法直接从浏览器调用这些API,因为CORS会阻止调用
它。 改为通过小型App Builder运行时操作路由调用。 请参阅
正在调用Workfront和Fusion API

要继续创建自定义扩展的过程,请参阅发布您的扩展

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