有些朋友问到,如果想要开发一个bot针对于Teams的某些租户,如何做?实际上微软的Teams的SDK早就提供了类似的功能。

如果你使用的是Javascript/Node.JS开发,使用session.message.sourceEvent.tenant.id 就可以知道当前消息来自于哪个租户。
技术人员,理论知识不如直接上代码,如下Javascript实例代码让大家更加容易理解一些:

var bot = new builder.UniversalBot(connector);bot.use({botbuilder: function(session, next) {var currentMsgTenant = typeof(session.message.sourceEvent.tenant) !== "undefined"? session.message.sourceEvent.tenant.id : null;....

如果你使用的是C#,那恭喜你了,SDK直接就有现成的对租户的过滤器

using Microsoft.Bot.Connector.Teams;namespace Teams.Sample.Controllers
{[BotAuthentication, TenantFilter]public class MessagesController : ApiController{[HttpPost]public async Task<HttpResponseMessage> Post([FromBody] Activity activity)

然后只要在你的web.config里进行简单的配置就可以了

<configuration><appSettings><!--other settings--><add key="AllowedTenants" value="*TenantId1,TenantId2,...*"/>

如果你走在技术前沿,使用了dotnet core 那很不幸,在我写这篇文章的时候dotnet core teams SDK还不支持TenantFilter。不过庆幸的是SDK是开源的,https://github.com/OfficeDev/BotBuilder-MicrosoftTeams/blob/master/CSharp/Library/Microsoft.Bot.Connector.Teams.NetFramework/TenantFilterAttribute.cs
代码面前毫无秘密。
而且按照Teams的发展速度,应该很快就能有asp.net core的版本了,大家拭目以待!

开发针对特殊租户的Teams机器人相关推荐

  1. MATLAB/Simulink模型开发乐高EV3 双足平衡机器人

    MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频) 之前只是用Matlab做一些算法的仿真,数据的计算分析处理,知道MATLAB中包含有Simulink,只知道S ...

  2. 钉钉企业内部机器人开发——绑定群聊信息到机器人

    开发机器人的过程中,需要将用户添加的机器人存储在数据库中,对于企业内部机器人,官方只提供一个token,其他的机器人信息都没有提供. 对于自定义webhook机器人,还多了一个secret,其实,一个 ...

  3. Cell:康奈尔大学郭春君组开发针对非模式肠道细菌的基因编辑工具

    北京时间2022年1月20日凌晨0时,美国康奈尔大学威尔康奈尔医学院郭春君(Chun-Jun Guo)研究组在<细胞>(Cell)上在线发表题为"Genetic manipula ...

  4. 《冰雪奇缘》造雪花的技术,被MIT用来开发了一只软体机器人

    大数据文摘出品 来源:MIT 编译:张大笔茹.武帅.宁静 一只驯鹿带着雪橇上的Anna公主和Kristoff一起奔跑,这是迪斯尼备受好评的动画电影<冰雪奇缘>中非常精彩的一幕:饥饿的狼追逐 ...

  5. MIT研究团队开发由磁铁控制的小型机器人,可在人体内提供治疗

    内容来源:ATYUN AI平台 由磁铁控制的小型机器人可能有一天会在你的身体中穿行,提供治疗或采集组织样本.麻省理工学院设想创造可以根据提示进行变化的软性移动设备. 只需一个磁铁,机器人就可以在有限的 ...

  6. 从 0 到 1 使用 Python 开发一个钉钉群应答机器人

    很多时候,我们都希望计算机程序能够为我们自动化的处理一些学习.工作和生活上的任务,毕竟「偷懒」可是促进科技进步和社会发展的一大动力.基于这种需求,诞生了很多种自动化的工具,比如爬虫,自动地帮我们采集数 ...

  7. 罗欣药业引进全球首个布地奈德溶液型鼻喷剂;勃林格殷格翰加速开发针对囊性纤维化患者的同类首创基因疗法 | 医药健闻...

    | 行业焦点 勃林格殷格翰与合作伙伴加速开发针对囊性纤维化患者的同类首创基因疗法.勃林格殷格翰.IP 集团.英国囊性纤维化基因治疗联盟 (GTC,由伦敦帝国理工学院.牛津大学和爱丁堡大学的研究人员组成 ...

  8. 嵌入式开发五:未来之星机器人语音控制及视频开发(颜色追踪)(运动追踪)

    Author:朱本福 Address:桂林电子科技大学,智能科学与技术 E-mial:zhubenfulovepoem@163.com QQ:896922782 技术交流群:图像处理分析与机器视觉(群 ...

  9. 音视频开发(41)---ROKID桌面机器人麦克风阵列拆解分析及设计建议

    ROKID桌面机器人麦克风阵列拆解分析及设计建议 ROKID桌面机器人麦克风阵列及功放拆解分析及设计建议 一:整体外观 二:MIC阵列所处位置 三:麦克风结构设计方案: 1: 目前麦克风结构设计大体分 ...

最新文章

  1. Tesseract-OCR 3.04在Windows7 vs2013上编译过程
  2. oracle 时间减去一个月_一文看懂教孩子时间问题的进阶过程
  3. 【RocketMQ工作原理】消息堆积与消费延迟
  4. python2中使用中文报错:SyntaxError: Non-ASCII character
  5. 序列化反序列化api(入门级)
  6. dbunit使用_摆脱困境:在DbUnit数据集中使用空值
  7. Linux系统编程---18(线程池相关概念及其实现)
  8. 如何使用小程序自定义组件功能
  9. 如何写出兼容大部分浏览器的CSS 代码
  10. 如何成功发布一个MSMQ的Windows服务
  11. Spark中的python shell交互界面Ipython和jupyter notebook
  12. 乐心健康php,《乐心健康》修改步数网页【获取方法】入口
  13. Steam注册遇到CAPTCHA问题,一直注册不了,一个简单的注册办法
  14. java写一个泡泡龙小游戏
  15. 关于laravel 使用__call,__callStatic实现静态,动态方法互相调用
  16. 7的整除特征 三位一截_小学数学竞赛七、数的整除特征(一)
  17. 批量将多个文件夹整理合并到一个文件夹中
  18. 什么情况下指针需要使用malloc分配内存,什么时候不需要
  19. MySQL廖雪峰的官方网站
  20. eclipse常用插件在线安装地址或下载地址

热门文章

  1. 进程与线程的区别:最浅显易懂的解释
  2. Net中的Request和Response对象的理解
  3. 成熟就是深谙世故却不世故
  4. html怎么做模糊条纹,如何使用纯CSS实现彩虹条纹文字的效果
  5. linux中国用户,Linux中国 适合新用户的Linux
  6. TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理
  7. gcc 5.2.0 手动更新(亲测)
  8. activemq 安全连接
  9. 《Redis官方文档》Redis调试指南
  10. Virtualbox安装增强工具失败