我有一个机器人,它包含一个消息扩展功能的能力。我按照一个例子 此处. 但我没有使用卡视图,而是使用嵌入式Web视图来显示我的自定义UI(这是一个反应应用程序托管在S3
这是我用来打开消息扩展预览的代码。
handleTeamsMessagingExtensionFetchTask(context, action) {
const url = process.env.POPUP_VIEW_URL;
return {
task: {
type: 'continue',
value: {
url: url,
fallbackUrl: url,
width: 680,
height: 400,
title: 'Feedback & praise',
},
},
};
}
我试图找到一个关于当用户点击 "提交请求 "按钮时,机器人如何从UI中接收请求的exampledocumentation,但目前还没有找到。我看了这个 这个但它使用了一个自适应卡的例子。
不知道文档中有没有嵌入式webview的例子?我也想过当用户点击按钮时,只需调用API,但还是困惑于如何在API调用返回成功后关闭预览窗口。
你需要在你的按钮点击中使用submitTask(提交任务)
microsoftTeams.tasks.submitTask(JSON);
正如@Rajesh上面的回答。我基本上是这样做的
@microsoft/teams-js
到我的反应应用程序import * as microsoftTeams from "@microsoft/teams-js";
...
export const myComponent = () => {
const submitRequest = () => {
// make API request
if (success) {
microsoftTeams.initialize(); // This is a must
microsoftTeams.tasks.submitTask();
}
}
return (
<>
...
<button onClick={submitRequest} type="button">Submit request</button>
</>
);
}