【问题标题】:Closing the Microsoft Teams task module popup automatically自动关闭 Microsoft Teams 任务模块弹出窗口
【发布时间】:2021-01-02 07:08:34
【问题描述】:

我们正在我们的 Microsoft Teams 应用程序中尝试消息扩展功能,该应用程序有一个命令,当从撰写框调用时,该命令会从机器人获取动态参数集。

当用户点击消息扩展时,我们的应用会收到有效负载类型“invoke”和名称“composeExtension/fetchTask”

我们的应用程序处理数据,并在任务中以“类型”:“继续”的自适应卡作为回报,并且自适应卡具有打开 URL 的链接,如下所示

     "task": {
                "type": "continue",
                "value": {
                    "card": {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                            "version": "1.2",
                            "body": [{
                                    "type": "ActionSet",
                                    "actions": [{
                                        "type": "Action.OpenUrl",
                                        "title": "Open Facebook",
                                        "url": <URL to open Facebook>
                                    }],
                                }

                            ]
                        }
                    }
                }
            }

MSTeams 在任务模块弹出窗口中显示此卡。当用户单击操作按钮时,它会在新的浏览器选项卡中打开 Facebook 页面,但任务模块弹出窗口并未关闭。

当用户单击操作按钮时,是否有关闭任务模块弹出窗口?

注意:我们没有使用 Bot Framework SDK 和 Microsoft Teams Javascript 客户端 SDK。

【问题讨论】:

  • 您的机器人将收到一个动作,说 composeExtension/SubmitAction。您可以在那里返回 200 OK 响应 Request.CreateResponse(HttpStatusCode.OK, taskEnvelope);
  • @Trinetra-MSFT Bot 没有收到带有 actions.type: Action.OpenUrl 的操作 composeExtension/SubmitAction。如果我们使用 actions.type: Action.Submit,Bot 会收到 composeExtension/SubmitAction 事件。但是 URL 没有在新页面中打开。请提供解决此问题的附加说明。
  • 你能看一下teams message extension action的这个示例代码吗?
  • 浏览示例代码并进行了尝试,但这无助于解决问题。示例代码使用具有静态参数列表的消息传递扩展。如前所述,我们的应用程序没有收到带有 actions.type: Action.OpenUrl 的操作 composeExtension/SubmitAction。您能否为这种特殊情况提供解决方案,因为我们无法切换到静态参数列表?
  • Action 类型应该是 submit 以获得 submitAction 触发器

标签: microsoft-teams


【解决方案1】:

我知道对一个用户操作做两件事的唯一方法是使用基于 Web 的任务模块。

用按钮做一些简单的布局。在点击处理程序中使用 window.open(, "_blank") 并在完成后调用 javascript SDK 的 microsoftTeams.tasks.submitTask(...) 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2018-02-13
    相关资源
    最近更新 更多