首页 > 解决方案 > 具有自适应卡的团队任务模块不会为其他用户打开并导致团队崩溃

问题描述

我正在使用 Bot 框架 Java SDK v4.13 (bot-integration-spring) 开发团队应用程序。我已通过上传自定义应用程序将应用程序导入我的团队。

我们有一个基于搜索的消息扩展程序,它显示列表项,然后选择一个项目会在撰写框中生成一张自适应卡片,我可以将其发送到频道中或发送给团队中的其他用户。该机器人不是对话的参与者 - 频道、群聊、与另一个用户的 1-1。

Action.Submit在自适应卡上添加了一个按钮来获取这张卡上的任务模块(弹出窗口),如下所示。

{
        "data": {
            "msteams": {
                "type": "task/fetch"
            },
            "task": "postComment"
        },
        "type": "Action.Submit",
        "title": "Comment"
    }

单击该按钮将带来另一张自适应卡片,我可以将其提交回我的机器人。

{
    "version": "1.2",
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "body": [
        {
            "type": "Input.Text",
            "id": "subject",
            "placeholder": "Subject"
        },
        {
            "type": "Input.Text",
            "id": "commentText",
            "isMultiLine": "true",
            "placeholder": "Enter Comment"
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "Post",
            "data": {
                "task": "replyToComment"
            }
        }
    ]
}

当我从消息扩展中选择卡片并将其发送给另一个用户或频道时,所有这些都对我有用。我可以打开任务模块(弹出窗口)并将生成的表单提交回我的机器人。

如果我的同事向我发送了同一张卡片并且我单击了此任务模块按钮,则团队会因覆盖和线条而崩溃。我在网络上检查了团队,并在开发人员工具中看到了以下关于应用安装同意元素的内容,这似乎是一些提示其他用户(在本例中为我)安装应用的对话框。

应用安装同意对话框-开发者工具

谁能帮助我了解我可能缺少的东西。非常感谢任何帮助。

标签: botframeworkmicrosoft-teamsadaptive-cards

解决方案


回答我自己的问题。

如果我们在团队中侧载应用程序并从中生成内容以发送给其他人、组或频道,则会出现此问题 例如 - 从消息扩展中选择一个项目并将其发送给同事

当另一个人试图点击卡片上的按钮时,团队会提示另一个人将应用程序安装到他们的团队中。由于应用程序是旁加载的,团队无法找到在组织目录或全局目录中发布的应用程序,因此它显示一个空模式。

我在我们的组织目录中发布了我的应用程序,这个问题就消失了。我的同事在单击按钮时被提示安装该应用程序。


推荐阅读