You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Adaptive Card的Action.Submit按钮在Skype中无法渲染及卡片创建咨询

解决Skype机器人中Adaptive Card的Action.Submit不渲染问题

嘿,我碰到过类似的情况,给你几个实用的排查和解决方向:

1. 锁定兼容的Adaptive Card版本

Skype对Adaptive Card的新版本支持可能会滞后,高版本里的一些特性它还没适配。建议你把卡片的version指定为1.2或者更低(比如1.0),同时确保$schema地址正确。很多时候就是版本不兼容导致按钮不渲染的。

示例开头配置:

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.2",
  // ... 其他内容
}

2. 简化Action.Submit的配置

Skype对复杂的数据结构支持有限,尽量让Action.Submit的配置简洁:

  • 必须包含title属性(按钮显示的文字)
  • data字段尽量用扁平结构,不要嵌套多层对象

正确的Action.Submit示例:

"actions": [
  {
    "type": "Action.Submit",
    "title": "提交请求",
    "data": {
      "actionType": "submit",
      "formId": "123"
    }
  }
]

3. 确保发送卡片的方式正确

在Skype机器人里发送Adaptive Card时,要严格按照Bot Framework的规范封装:

  • 附件类型必须是application/vnd.microsoft.card.adaptive
  • 用官方的CardFactory工具来生成卡片(避免手动拼接出错)

比如Node.js中的发送代码:

const { CardFactory } = require('botbuilder');
// 导入你的卡片JSON
const adaptiveCard = require('./yourCard.json');

// 在对话中发送卡片
await context.sendActivity({
    text: "这是一张测试卡片",
    attachments: [
        CardFactory.adaptiveCard(adaptiveCard)
    ]
});

4. 排查Skype通道的特性限制

Skype并不是支持所有Adaptive Card的元素,比如某些高级布局、自定义样式可能会失效。你可以参考官方的Skype通道特性列表,确保卡片里只用它支持的元素和动作。

如果还是有问题,建议用Bot Framework Emulator测试Skype通道,查看有没有报错信息,或者直接在Skype的开发者控制台里检查卡片的渲染日志。

内容的提问来源于stack exchange,提问作者SamuelNLP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:52:08