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

Teams中从Adaptive Card启动嵌入Web视图Task Module加载失败问题

Teams机器人Task Module加载失败问题排查方案

1. 检查Task Module的URL完整性

确保返回的TaskModuleTaskInfo中URL是完整的HTTPS地址,必须包含https://协议头,比如https://xxxx.ngrok.io/your-page,不能省略协议或写错端口。

2. 配置正确的CORS规则

Teams客户端加载Task Module时会发起跨域请求,需确保本地服务(ngrok指向的服务)配置CORS,允许Teams相关域名访问。Java服务可添加CORS过滤器:

@Bean
public CorsFilter corsFilter() {
    CorsConfiguration config = new CorsConfiguration();
    config.addAllowedOrigin("https://teams.microsoft.com");
    config.addAllowedOrigin("https://teams.live.com");
    config.addAllowedMethod("*");
    config.addAllowedHeader("*");
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", config);
    return new CorsFilter(source);
}

3. 显式设置Task Module尺寸

未指定合理宽高可能导致加载异常,需在TaskModuleTaskInfo中显式配置:

TaskModuleTaskInfo taskInfo = new TaskModuleTaskInfo()
    .withUrl("https://xxxx.ngrok.io/your-page")
    .withWidth("medium")
    .withHeight("medium");

4. 校验Adaptive Card inlineAction配置

确保Action.Submit的data字段包含正确的Task Module触发参数,示例片段:

{
  "type": "Input.Text",
  "id": "inputText",
  "inlineAction": {
    "type": "Action.Submit",
    "title": "Open Task Module",
    "data": {
      "msteams": {
        "task": {
          "type": "task/fetch"
        }
      }
    }
  }
}

确认task/fetch类型拼写无误。

5. 更新Teams应用清单validDomains

在Teams应用的manifest.json中,将ngrok域名添加到validDomains数组:

"validDomains": ["xxxx.ngrok.io"]

该配置是Teams客户端允许加载外部页面的必要条件,composeExtensions场景的域名验证逻辑与Adaptive Card触发的Task Module不同,需单独配置。

6. 重启ngrok会话

ngrok会话可能因超时等原因异常,即使浏览器能访问,Teams请求仍可能失败。重启ngrok生成新域名,同步更新机器人返回的URL和清单中的validDomains后重新测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:53:32