[英]How does Teams know the endpoint of an Azure Bot Service bot when registering it via the AppId/BotId?
我的机器人已部署到 Azure 的机器人服务,我启用了 Teams 频道,并且我已成功将其连接到 Teams。 但是,我不明白它为什么起作用:-)
在 Teams 的“App Studio”中设置机器人时,UI 如下图所示。 我不使用“从我现有的机器人之一中选择”,因为该机器人是使用不同的用户帐户部署的。 相反,我只粘贴了机器人的 AppId,使用“连接到不同的机器人 id”:
我的问题是:
appsettings.json
中将MicrosoftAppId
和MicrosoftAppPassword
设置为非空字符串并在本地运行机器人,则在使用 Bot Framework Emulator 时必须提供这些凭据,否则会返回 401。[又是我:])
看看我关于机器人如何“在幕后”工作的博客文章 - 它将解释后退和前进的工作方式,以及 Bot 框架服务如何提供这种“胶水”,可以这么说。
问题 1 的答案:托管 web 服务时,会生成一个消息传递端点,该端点通过机器人服务进行路由。 Webservice 需要您的机器人注册中的 App ID 和密码才能连接。
对问题 2 的回答:Teams 允许一个人在团队中创建/注册机器人以进行测试,并且机器人的 scope 位于团队频道内,因为它不是托管的。
Teams 应用 package 与您的应用清单,您将安装它并在其中提供应用 ID 将 Teams 客户端连接到您的 web 服务,通过机器人服务路由。 主要是,Teams 应用程序依赖于应用程序 ID(Microsoft 生成的唯一应用程序标识符)来连接您的 web 服务,而不是密码。
如果你已经通过 Microsoft Bot Framework 注册了一个机器人,你应该已经有一个 ID。 否则,您应该生成一个新 ID,然后在添加机器人时重复使用它。
APP ID 和密码都将强制用于某些目的,例如身份验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.