SuperAPI AI 工具集

omni-embed

数据与分析

查看项目

更新于 10-15 21:39

技能介绍

用途:将 Omni Analytics 仪表板嵌入外部应用,借助签名 iframe URL 与 @omni-co/embed SDK 完成 URL 签名和主题定制;postMessage 事件用于父应用与 iframe 之间的双向通信。可用 omni-content-explorer 查找要嵌入的仪表板,用 omni-admin 管理嵌入用户权限和行级安全所需的用户属性。

用法:npm install @omni-co/embed,并配置环境变量 OMNI_BASE_URL(嵌入域,.embed-omniapp.co)、OMNI_EMBED_SECRET(Admin → Embed 获取)、OMNI_API_KEY。服务端用 embedSsoDashboard() 生成签名 URL,客户端放入 iframe 加载。参数含 contentId、secret、host(仅主机名,带协议或端口会返回 400)、externalId、name,以及可选的 userAttributes、mode、prefersDark、customTheme、entity。不确定端点或参数时可先取 $OMNI_BASE_URL/openapi.json 核对。

能力:customTheme 可定制 iframe 内页面背景、磁贴、控件、弹出层、按钮等样式,支持 hex、rgba 阴影、woff2 字体 URL;Omni 经 postMessage 发出事件(source 均为 "omni"),包括 dashboard:loaded、dashboard:filters、error、dashboard:tile-drill、page:changed,以及需在 Omni 侧通过 Link → Embed event 或 <omni-message> 配置的自定义可视化事件;也可反向发送 dashboard:filter-change-by-url-parameter 推送筛选。Entity Workspaces 允许嵌入用户在限定文件夹内创建和保存仪表板,需 entity、entityFolderContentRole、mode: Application、uiSettings、connectionRoles 等参数。权限相关 REST 调用使用 .omniapp.co 域,可查询嵌入用户、按用户权限列出文档(响应用 records 数组)和文件夹并映射友好名称。

限制:host 必须为裸主机名;线性渐变与 rgba 背景经 SDK 传入可能失败,建议用纯色 hex;API 域与嵌入域不同,需替换 .embed-omniapp.co 为 .omniapp.co。其他未提供信息暂未说明。