Teams搜索消息扩展在Outlook中无法正常运行问题排查
Teams搜索消息扩展在Outlook中报错“Something went wrong”的排查方案
核心问题梳理
- 含Bot的Teams应用在Teams中搜索消息扩展正常,但Outlook中提示“Something went wrong”
- Fiddler抓包无有效错误信息,Web服务器日志显示请求从未到达Bot
- 无法找到官方指南提及的“Microsoft 365 Extensions”通道,Bot也未出现在Bot Framework门户中
- 补充信息:Tabs功能在Outlook中正常;manifest.json版本1.16;Bot的“Schema Transformation Version”为1.3;应用注册的“Expose an API”区域已添加所有建议的客户端ID
排查与解决方案
1. 通道配置检查
- 若使用新版Azure Bot Service资源,“Microsoft 365 Extensions”通道已整合至Teams通道,无需单独添加。进入Azure Bot Service的Teams通道设置,确认勾选“允许此Bot在Microsoft 365应用(如Outlook)中使用”开关,这是消息扩展在Outlook生效的核心配置。
- 若为旧版Bot Framework资源,需登录Bot Framework门户关联Bot,但目前旧版资源已逐步淘汰,优先建议迁移至新版Azure Bot Service。
2. Manifest文件验证
- 确保
manifest.json中composeExtensions字段的contexts包含"message"和"commandBox",scopes覆盖"groupchat"、"team"、"personal",适配Outlook的使用场景。 - 用Teams Toolkit的manifest验证工具检查语法,v1.16版本虽支持Microsoft 365场景,但字段不规范会导致功能异常。
3. 身份验证与权限排查
- 检查Bot应用注册的Microsoft Graph权限,确认已添加
TeamsAppInstallation.ReadWriteSelfForUser.All、TeamsTab.ReadWriteSelfForUser.All等必要权限,且完成管理员同意(租户级使用场景)。 - 验证Bot的令牌逻辑:Outlook请求的令牌受众可能为
https://graph.microsoft.com或api.botframework.com,确保Bot的身份验证代码能正确处理这两类受众,避免因验证失败丢弃请求。
4. 网络与端点验证
- 确认Azure Bot Service的消息端点配置正确,且端点可被Microsoft 365服务访问(排除防火墙、VPN等网络限制)。可通过Postman模拟Bot Framework协议的请求,验证端点是否能正常响应。
- 查看Azure Bot Service的内置日志(路径:监控->日志),筛选Outlook相关请求,排查是否存在Bot服务端的验证失败、路由错误等问题,这类问题会导致请求无法转发至你的Web服务器。
内容的提问来源于stack exchange,提问作者JustAnotherDev
相关产品推荐
相关产品推荐

