托管Microsoft Teams应用程序消息传递端点

时间:2020-02-04 14:50:40

标签: botframework bots messaging endpoint microsoft-teams

我一直在关注Microsoft的Teams C#教程found here,并且在大多数方面都取得了成功。但是,当我自己托管消息传递终结点而不是通过它们的Azure服务托管时,我似乎无法使我的应用程序正常工作,这最终对我来说不是一个选择,因为对于我们需要做的事情来说定价太高了。

我通过发布示例项目并确保可通过HTTPS在外部使用自己来托管端点。我可以访问Teams中的自定义标签,所以我知道它是在线的,只是当我尝试通过聊天窗口使用消息传递扩展时,消息传递端点似乎失败并显示“无法访问应用程序”错误。

使用开发人员工具进行调试时,出现502错误:Bot返回了失败的状态代码“禁止”,错误代码1008。到目前为止,我针对类似问题看到的每个潜在解决方案都对我没有用,尽管我仍然觉得显而易见的东西。自己托管端点时是否需要采取特殊步骤?该文档在解释该过程方面做得很糟糕,可能是因为Microsoft希望您付费在Azure上托管该应用程序。

3 个答案:

答案 0 :(得分:0)

这通常是由于应用ID /应用密钥未在您的应用中正确注册或使用而导致的,因此未正确向bot框架服务进行身份验证。在何处/如何执行此操作取决于您最初使用的示例代码/项目模板,但通常在.config文件中(或以前在.bot文件中)。

您需要的信息将位于:

  1. 应用程序ID:Azure中的Bot设置页面
  2. 应用程序密钥:在Bot设置页面上,您已获得上面的AppId,它链接到应用程序注册本身-在该页面中,您会找到有关密钥的部分,并且可以创建新密钥(如果已失去了原来的一个)

答案 1 :(得分:0)

我知道AppID验证失败时通常是一个错误。机器人应用程序请求Azure AD验证身份。您的Web服务器可以访问Azure AD吗?如果您拒绝使用防火墙访问出站,则应允许Azure IP range

答案 2 :(得分:0)

事实证明,这纯粹是一个网络问题,到目前为止,我们还没有真正弄清楚。但是我们尝试在其他地方托管该应用程序,这很好。如果有人遇到同样的问题,这是我的建议!