如何从botframework中的嵌入式webview接收请求并关闭消息传递扩展窗口?

如何从botframework中的嵌入式webview接收请求并关闭消息传递扩展窗口?,botframework,Botframework,我有一个机器人,它具有消息传递扩展功能。我举了一个例子。但是我没有使用卡片视图,而是使用嵌入式web视图来显示我的自定义UI(这是一个托管在S3中的react应用程序) 这是我用来打开消息扩展预览的代码: handleTeamsMessagingExtensionFetchTask(context, action) { const url = process.env.POPUP_VIEW_URL; return { task: { type: 'c

我有一个机器人,它具有消息传递扩展功能。我举了一个例子。但是我没有使用卡片视图,而是使用嵌入式web视图来显示我的自定义UI(这是一个托管在S3中的react应用程序)

这是我用来打开消息扩展预览的代码:

  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:

我试图找到一个示例/文档,说明当用户单击SubmitRequest按钮时,bot如何从UI接收请求,但到目前为止找不到。我看了这个,但它使用了一个自适应卡的例子


我想知道是否有嵌入式webview文档中的示例?我还认为当用户单击按钮时只需要进行API调用,但仍然不知道如何在API调用返回成功后关闭预览窗口。

您需要在按钮单击中使用submitTask

microsoftTeams.tasks.submitTask(JSON);

正如上面的@Rajesh回答。这基本上就是我所做的

  • @microsoft/teams js
    添加到我的react应用程序
  • 从包含按钮的我的组件。因为我不需要将任何信息传递回bot/团队,所以我只调用没有参数的函数
  • import*作为MicrosoftTeam从“@microsoft/teams js”导入;
    ...
    导出常量myComponent=()=>{
    const submitRequest=()=>{
    //发出API请求
    如果(成功){
    microsoftTeams.initialize();//这是必须的
    MicrosoftTeam.tasks.submitTask();
    }
    }
    返回(
    ...
    提交请求
    );
    }
    
    是的,我也找到了答案。我不知道我的react应用程序中也需要使用
    @microsoft/teams js
    包。