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

MS Teams消息扩展Bot部署后无响应 求排查方案

排查Teams消息扩展Bot发布后无响应问题

针对你描述的场景(本地测试正常,发布到组织后仅Tabs可用,消息扩展Bot提示无法连接),可以从以下几个方向逐一排查:

一、Azure Bot核心配置验证

  • 检查Messaging Endpoint:登录Azure Bot资源,确认「Messaging endpoint」指向的生产环境Bot服务地址是HTTPS协议,且可通过Postman直接发起POST请求验证连通性(请求体可随便填,只要能收到Bot的响应即可,比如400错误说明端点可达,只是请求格式不对,比完全无响应好)
  • 核对身份凭证:确保Azure Bot的「Microsoft App ID」和「Microsoft App Password」,与生产环境.env文件中的MICROSOFT_APP_ID、MICROSOFT_APP_PASSWORD完全一致,注意密码是否包含特殊字符导致配置解析失败
  • 确认Teams频道状态:在Azure Bot的「Channels」页面,检查Microsoft Teams频道是否已启用,状态显示为「Connected」,没有报错提示

二、ES6模块生产环境兼容性

  • Node.js版本检查:如果部署在Azure App Service,进入「Configuration -> General settings」,确认Node.js版本为16.x及以上(ES6模块在Node 16+默认支持)
  • 启动命令验证:检查App Service的「Configuration -> General settings -> Startup command」,如果是ES6模块,直接用node index.js即可,无需额外参数;如果启动失败,查看日志是否有模块加载错误
  • 查看生产日志:通过Azure App Service的「Log stream」或Bot资源的「Monitoring -> Logs」,排查是否存在Cannot find module、语法错误等ES6相关的运行时异常

三、Teams应用Manifest配置检查

  • 消息扩展基础配置:打开打包后的manifest.json,确认:
    • composeExtensions.botId与Azure Bot的Microsoft App ID完全匹配
    • composeExtensions.scopes包含"team"(因为是频道专属)
    • composeExtensions.commands.context包含"channel",确保命令在频道上下文触发
  • 避免本地配置残留:确认manifest中没有保留本地测试用的endpoint或App ID,所有配置都是生产环境值

四、网络与服务可用性

  • IP白名单设置:确保生产环境Bot服务所在的网络(如Azure VNet)没有阻止Teams服务的IP范围,允许Teams的入站请求
  • 启用Always On:如果用Azure App Service,在「Configuration -> General settings」开启「Always On」,防止服务休眠导致无法响应
  • 出站连通性:检查Bot服务是否能正常访问Azure Bot Service的端点,确保出站网络没有限制

五、组织租户权限与策略

  • 应用权限审批:在Teams Admin Center的「Managed apps」中,查看发布的应用是否已被管理员批准,且消息扩展所需的权限(如团队读取权限)已授予
  • 租户应用限制:确认租户没有禁用消息扩展功能,或针对该应用设置了特殊的限制策略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:05:22