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

使用Python Bot Framework SDK开发的MS Teams Bot中ngrok转发URL失效问题

Teams Bot ngrok收不到请求的排查方案

问题背景

用Python版Bot Framework SDK开发Microsoft Teams机器人,已在配置文件中填写正确的APP ID和密码,但ngrok转发URL无法接收来自Teams的请求;去掉APP ID和密码后,通过Bot Framework模拟器发送请求可正常运行。使用的是BotBuilder-Samples里的Python主动消息示例(路径:BotBuilder-Samples\samples\python\16.proactive-messages)。

排查修复步骤

  • 核对Azure Bot门户的消息终结点配置
    登录Azure找到你的Bot注册,在「配置」页的「消息终结点」必须填写ngrok生成的完整HTTPS地址,格式为https://<ngrok随机ID>.ngrok.io/api/messages,要和本地Bot的监听路径完全匹配(示例默认路径为/api/messages),切勿遗漏路径后缀。

  • 确认APP ID和密码无差错
    配置文件(如config.py)中的MicrosoftAppId和MicrosoftAppPassword要与Azure Bot注册的凭据完全一致:

    • 密码是创建Bot时生成的客户端密钥,而非APP ID本身;若密码丢失,需到Azure门户重新生成。
    • 确保字符串无多余空格或换行符,复制粘贴时注意清理格式。
  • 排查身份验证拦截问题
    若ngrok报错为401类身份验证相关错误,说明Bot服务的请求未通过本地验证:

    1. 在代码中添加打印逻辑,确认本地Bot是否正确读取到配置的APP ID,避免配置文件加载失败。
    2. 检查示例项目的adapter.py,确保使用的是CloudAdapter而非TestAdapter——TestAdapter仅适用于模拟器,不做身份验证,对接Teams必须使用CloudAdapter。
  • 检查Teams机器人的安装与权限
    先确认已将机器人安装到测试的Teams团队或个人聊天中,未安装的情况下Teams不会发送请求;同时在Teams开发者门户中,需确保机器人的适用范围(团队/个人)配置正确。

  • 临时排查网络拦截
    本地防火墙、代理工具可能会拦截ngrok的HTTPS请求,可临时关闭相关工具测试,确认请求能否正常到达本地服务。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 21:13:18