如何在Microsoft Team Bot中使用自适应卡在其他浏览器中打开url?

时间:2019-09-22 21:02:02

标签: node.js botframework bots microsoft-teams adaptive-cards

我正在使用Microsoft Teams Bot框架,我想要一个带有按钮的自适应卡以在弹出窗口中打开URL(其他浏览器) 通过使用(Actions.openUrl),它将在默认浏览器中打开一个URL。 并希望它在其他浏览器中打开

这是我尝试过的,正在使用node.js

var card = {
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [{
        "type": "Container",
        "items": [{
            "type": "TextBlock",
            "text": `${session.message.text}`,
            "weight": "bolder",
            "size": "medium"
        }

        ]
    },
    {
        "type": "Image",
        "url": `${bodyData.img}`

    },

    {
        "type": "Container",
        "items": [{
            "type": "TextBlock",
            "text": `${bodyData.calendar}`,
            "wrap": true
        }]
    }
    ],
    "actions": [
        {
            "type": "Action.openUrl",
            "title": "Open in Popout",
            "url": `${bodyData.url}`
        }   
        ]};

2 个答案:

答案 0 :(得分:3)

此操作类型指定要在默认浏览器中启动的URL,您暂时无法指定浏览器。顺便说一句,默认浏览器是您所知道的系统级设置(默认程序)。

更新
就像Kyle所说的那样,如果您选择任务模块,那么Here是一个可以快速浏览的存储库,它包含所有必需的代码。弹出窗口是在javascript和自适应卡中触发的。

答案 1 :(得分:0)

就像保罗·张说的那样,您不能在Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Range("B2:B14").AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=Range("C3"), _ Unique:=True End Sub 按钮中指定浏览器。不仅如此,您不能在openUrl按钮中指定URL的“目标”。您可以看到here唯一可以指定的就是URL本身。网址的详细信息由客户端负责,并且漫游器无法控制它们。

我认为您有几种选择。

选项1

如果您确实要打开浏览器窗口(如弹出窗口),则可以尝试创建一种卡会链接到的重定向页面。当用户单击按钮时,您的重定向页面将在当前浏览器窗口的新标签页中打开,然后您设置的任何客户端代码将在新窗口中打开目标页面并关闭重定向页的标签。 / p>

选项2

完成团队讨论的常规方法是使用task module。根据您的URL所包含的内容,您甚至可以考虑在任务模块而不是网页中放置卡片。