有些朋友问到,如果想要开发一个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里进行简单的配置就可以了