我正在尝试在 MS Teams 中呈现自适应卡并收到消息“不支持指定的卡版本”。我正在使用 Bot Framework SDK v4 - node.js
下面是代码片段:在welcome.json 中的自适应卡下面
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "TextBlock",
"text": "Default text input"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "OK"
}
]
}
}
Node.js 代码:
const { ActivityTypes, CardFactory } = require('botbuilder');
const WelcomeDialogCard = require('./Welcome.json');
let strJson = JSON.stringify(WelcomeDialogCard );
const cardJson = JSON.parse(strJson);
const confirmationCard = CardFactory.adaptiveCard(cardJson);
await turnContext.sendActivity({ attachments: [confirmationCard ] });
您的自适应卡的格式似乎不正确。type、version、body 和 action 属性都应该在 JSON 对象的顶层。看看下面的例子。
{
"contentType": "application/vnd.microsoft.card.adaptive",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "TextBlock",
"text": "Default"
}
],
"actions": [{
"type": "Action.Submit",
"title": "OK"
}]
}
const WelcomeDialogCard = require('./Welcome.json');
const confirmationCard = CardFactory.adaptiveCard(WelcomeDialogCard)
await turnContext.sendActivity({ attachments: [confirmationCard] });
我强烈建议使用AdaptiveCard Designer来帮助创建您的卡片,并注意您不应该对 AdaptiveCard 进行字符串化和解析。
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句