如何向现有Graph Api项目中添加Teams消息扩展功能
Teams消息扩展接入方案说明
你完全可以直接把示例中消息扩展的相关代码整合到现有AspNetCore项目中,这是优先推荐的方案,仅特殊场景需要单独新建Bot项目。
优先整合到现有项目的原因
- 技术栈完全匹配:你的现有项目是AspNetCore,和官方示例的C# Bot实现没有兼容问题,不需要额外适配
- 运维成本更低:整合后只需要维护一个服务部署实例,不需要额外处理多服务的联调、权限配置问题
- 资源可复用:Bot相关逻辑可以直接复用现有项目的配置、业务服务、数据存储等公共资源,不需要重复开发
整合操作核心步骤
- 给现有AspNetCore项目安装3个核心NuGet包:
Microsoft.Bot.Builder、Microsoft.Bot.Builder.Integration.AspNet.Core、Microsoft.Bot.Connector.Teams,版本和你之前跑通的示例版本保持一致即可 - 复制示例中继承了
TeamsActivityHandler的Bot实现类、所有消息扩展的Action处理逻辑到你现有项目的对应目录下 - 在项目启动文件(
Program.cs或Startup.cs)中注册Bot服务:添加Bot适配器配置、注册你复制过来的Bot实现类、暴露/api/messages接口作为Bot的回调地址,这部分逻辑可以直接复用示例的服务注册代码 - 把你Azure Bot对应的Bot ID、Bot密码等配置项添加到现有项目的配置文件中,再把Azure上Bot的回调端点地址改成你现有项目的
/api/messages公网地址即可 - 前端TypeScript React部分不需要做逻辑修改,只需要在Teams应用的Manifest配置中补充消息扩展的相关声明即可,和你现有前端逻辑完全不冲突
仅以下场景建议单独新建Bot项目
- 现有AspNetCore项目的部署环境无法对外暴露公网可访问的回调地址,不符合Bot服务的接入要求
- 消息扩展的业务逻辑和现有项目完全独立,后续有单独扩容、独立发布的需求
内容的提问来源于stack exchange,提问作者MaheSH YU
相关产品推荐
相关产品推荐

