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

Teams卡片触发Action时出现JsonReaderException问题求助

Teams卡片Action触发JsonReaderException排查方案

核心问题现象

  • Teams通知卡片的所有交互Action失效,触发时抛出JsonReaderException
  • 添加评论场景中,用户输入的评论未被替换到请求体的{{comment.value}}占位符,导致请求从未送达我方API
  • 功能此前正常运行,无明确变更点记录

排查步骤

  • 核对卡片输入组件与占位符的匹配性
    确认评论输入框的id严格为comment,Teams的占位符替换依赖组件ID完全匹配,示例正确定义:

    {
      "type": "Input.Text",
      "id": "comment",
      "placeholder": "输入评论内容"
    }
    

    同时检查输入组件与对应Action按钮是否处于同一作用域(如同一ActionSet内),避免作用域隔离导致无法读取值。

  • 验证Action请求体模板的格式正确性
    确保Action的body参数中占位符格式为标准的{{componentId.value}},无多余空格或符号,且JSON转义正确:

    {
      "type": "Action.Http",
      "method": "POST",
      "url": "https://your-api-domain.com/add-comment",
      "body": "{\"comment\":\"{{comment.value}}\",\"taskId\":\"{{taskId.value}}\"}"
    }
    

    若请求体存在未正确转义的双引号,会导致Teams解析模板失败,直接抛出JSON格式错误。

  • 排查Teams平台的隐性变更
    检查Teams客户端版本是否有更新,部分新版本可能调整了自适应卡片的模板解析逻辑;同时确认是否触发Teams安全策略变更,比如对外部API请求的格式校验规则收紧,导致未完成占位符替换的请求被拦截。

  • 测试最小化卡片模板
    创建仅包含输入框和对应Action的最简自适应卡片,排除其他组件的干扰,验证占位符替换功能是否正常:

    {
      "type": "AdaptiveCard",
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "version": "1.4",
      "body": [
        {
          "type": "Input.Text",
          "id": "comment",
          "placeholder": "测试评论输入"
        }
      ],
      "actions": [
        {
          "type": "Action.Http",
          "method": "POST",
          "url": "https://your-api-domain.com/test",
          "body": "{\"comment\":\"{{comment.value}}\"}"
        }
      ]
    }
    
  • 检查API接入层的拦截记录
    排查API网关、负载均衡等接入层的日志,确认是否存在格式错误的请求被直接丢弃;同时核对网络配置(如IP白名单)是否变更,导致Teams服务器无法正常访问我方API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:37:30