MS Teams应用自建团队频道消息扩展报错(BotNotInConversationRoster)解决方法咨询
MS Teams消息扩展自建团队频道报错(BotNotInConversationRoster)的解决方法
核心原因
报错(BotNotInConversationRoster) The bot is not part of the conversation roster本质是消息扩展依赖的Bot服务未被纳入目标自建团队的会话成员列表中,导致无法发起交互。
具体处理方式
1. 检查并修正Manifest.json配置
- 确保Bot的
scopes字段包含team和groupchat,覆盖团队场景的使用需求:"bots": [ { "botId": "你的Bot ID", "scopes": ["team", "groupchat", "personal"], "supportsFiles": false, "isNotificationOnly": false } ] - 确认
validDomains字段包含Bot服务的域名,避免跨域限制导致的会话初始化失败。
2. 将Bot添加到目标自建团队
- 手动添加:让团队管理员在Teams客户端操作:进入目标团队 > 点击顶部「更多选项」>「添加应用」> 搜索你的Bot应用并添加。
- 自动/批量添加:使用Graph API实现批量或自动部署,调用
POST /teams/{team-id}/installedApps接口,请求体指定应用ID:
注:调用该API需要具备{ "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/{你的应用ID}" }Team.Installation.ReadWriteSelfForTeam.All或对应的管理员权限。
3. 验证Bot注册与权限配置
- 登录Azure门户,进入你的Bot注册页面:
- 确认「Channels」中已启用「Microsoft Teams」频道,且配置无误;
- 检查「权限」标签下是否添加了必要的团队/频道相关权限(如
Team.ReadBasic.All、Channel.ReadBasic.All),并完成租户级管理员同意(若为企业级应用)。
4. 触发Bot会话初始化
若Bot已添加但仍报错,可尝试让团队成员在频道中@Bot发送一条测试消息,触发Bot加入团队的会话成员列表,之后再测试消息扩展功能。
内容的提问来源于stack exchange,提问作者magnito03
相关产品推荐
相关产品推荐

