gpt4 book ai didi

node.js - 如何将自定义数据从机器人自适应卡传递到团队任务模块

转载 作者:行者123 更新时间:2023-12-04 17:20:38 25 4
gpt4 key购买 nike

我有一个团队机器人 (nodejs),它使用一些表格数据呈现自适应卡片。我们希望通过在将使用交互式 D3 图表显示数据的任务模块内构建一个 javascript 小部件来提供更丰富的数据查看体验。

自适应卡片基本上会有一个“查看更多”按钮,它会调用一个包含 html 内容的任务模块。

我无法弄清楚的部分是如何从任务模块内的 html 访问数据。我意识到有一个名为 microsoftTeams 的全局对象包含元数据和上下文,但它似乎并不特定于被单击的自适应卡(调用任务模块的自适应卡)。它具有更多用于团队的全局信息,例如用户和对话元数据。

在将任务模块作为自定义参数调用时,我能够将数据插入到 taskInfo 对象中。所以我的问题是,有没有办法从 HTML iframe 内部访问 taskInfo 对象?

最佳答案

我正在使用查询字符串从服务器获取数据到客户端(可能有更好的方法,希望@Saonti-MSFT 能以更简单/更清洁的方式回归)。

这是我的任务对象:

task: {
type: "continue",
value: {
url: `${process.env.HostName}?message=${JSON.stringify(Buffer.from(message).toString("base64"))}`,
width: 500,
height: 736
},
}

然后在客户端获取搜索查询并将其转换回执行以下操作

const urlParams = new URLSearchParams(window.location.search);
const message = urlParams.get('message');

// Needed to remove the quotes and convert spaces to "+" as this was getting lost
const data = atob(message.replace(/"/g,"").replace(/\s/g, "+"));

注意:我只是对单个字符串执行此操作,但我不明白如果您将对象转换为服务器上的字符串然后在服务器上解析它,为什么不能使用该对象客户。

希望对你有帮助

关于node.js - 如何将自定义数据从机器人自适应卡传递到团队任务模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66391874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com