Amazon Lex 中响应卡按钮中的超链接

Hyperlink in response card button in Amazon Lex

我正在尝试在 amazon lex 中制作一张响应卡,以发出一张带有指向另一个网站的按钮的响应卡。下面是我在 aws lambda python 中使用的代码。我已经在 facebook messenger 上发布了聊天机器人。但是每当我select fb messenger 中的按钮时,按钮中的link 似乎并没有将我带到该网站。有什么办法可以让响应卡按钮变成hyperlink按钮?

def location(intent_request):

    session_attributes = intent_request['sessionAttributes'] if intent_request['sessionAttributes'] is not None else {}

    return {
        'dialogAction': {
            'type': 'Close',
            'fulfillmentState': 'Fulfilled',
            'message': {
                'contentType': 'PlainText',
                'content': 'Here is a map'
            },
            'responseCard': {
            'version': '17',
            'contentType': 'application/vnd.amazonaws.card.generic',
            'genericAttachments': [
                {
                'title': 'Here is a list of hospitals',
                'subTitle': 'Below is a map',
                "buttons":[
                     {
                        "text":"Show Google Maps",
                        "value":"https://www.google.com/maps/search/?api=1&query=nearby+hospitals"
                     }
                    ]
                }
            ]
            }
        }
    }

截至目前,您无法使用按钮执行此操作。这些按钮有两个参数 textvalue当你点击一个按钮时,按钮的 value 被发送到服务器并且 text 被附加到聊天中。 所以它只会发送值返回 Lex 但无法打开超链接功能。

不过,您可以在响应卡中使用图像来实现相同的功能。 imageUrl是要显示的图片url,attachmentLinkUrl是你要打开的url。所以我建议您删除按钮并使用要显示的地图图像并在 attachmentLinkUrl.
中提供您的超链接 此外,如果您想显示多个超链接,您可以在单个 responseCard.

中显示多张卡片(最多 10 张)

下面是示例代码:

return {
    'dialogAction': {
        'type': 'Close',
        'fulfillmentState': 'Fulfilled',
        'message': {
            'contentType': 'PlainText',
            'content': message
        },
        'responseCard': {
        'version': '0',
        'contentType': 'application/vnd.amazonaws.card.generic',
        'genericAttachments': [
            {
            'title': 'Here is a list of hospitals',
            'subTitle': 'Below is a map',
            'attachmentLinkUrl': 'https://www.google.com/maps/search/?api=1&query=nearby+hospitals',
            'imageUrl': 'https://images.sftcdn.net/images/t_optimized,f_auto/p/95612986-96d5-11e6-af7c-00163ec9f5fa/3771854867/google-maps-screenshot.png'
            },
            {
            'title': 'Here is a list of medical shops',
            'subTitle': 'Below is a map',
            'attachmentLinkUrl': 'https://www.google.com/maps/search/?api=1&query=nearby+medical+shops',
            'imageUrl': 'https://images.sftcdn.net/images/t_optimized,f_auto/p/95612986-96d5-11e6-af7c-00163ec9f5fa/3771854867/google-maps-screenshot.png'
            }
        ]
        }
    }
}

您也可以查看 以了解有关回复卡的详细信息。
希望对你有帮助。