【问题标题】:Hosting Microsoft Teams App Messaging Endpoint托管 Microsoft Teams 应用程序消息传递端点
【发布时间】:2020-05-20 10:19:29
【问题描述】:

我一直在关注 Microsoft 的 Teams C# 教程 found here,并且大部分都取得了成功。但是,当我自己托管消息传递端点而不是通过他们的 Azure 服务时,我似乎无法让我的应用程序运行,这对我来说最终不是一个选择,因为定价对于我们需要它做的事情来说太离谱了。

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

使用开发工具进行调试时,我收到 502 错误:Bot 返回不成功的状态代码 Forbidden,错误代码 1008。到目前为止,我为类似问题看到的每个潜在解决方案都对我不起作用,尽管我仍然觉得它是一些非常明显的东西。自己托管端点时是否需要采取特殊步骤?文档在解释过程方面做得非常糟糕,可能是因为微软希望你付费在 Azure 上托管应用程序。

【问题讨论】:

  • 您是否只面临消息扩展的问题?你的机器人工作正常吗?您能否分享您为机器人设置的消息端点的屏幕截图?您使用哪个工具进行本地调试?您能否尝试使用ngrok 并按照文档here 操作?
  • 嗨@Gousia-MSFT;我没有在机器人中编写任何功能,因为我不需要使用它,尽管当我针对 Azure 托管端点遵循教程时,机器人确实将我自己的消息重复给我。我的端点托管在teams.planetestream.org/api/messages,这正是我发布项目的地方。 teams.planetestream.org/hello 在 Teams 中用作自定义选项卡。对于调试,我只是使用 Teams 中的开发人员工具窗口。当我使用 ngrok 隧道时,它工作正常!所以这肯定是我正在做的关于我自己的托管端点的事情。
  • 那么当你使用 ngrok 时,Message Extension 的问题就解决了?
  • 看起来是这样,是的 - 问题只是在尝试自己在上面的地址托管端点时出现,即使没有更改任何代码并且“hello”选项卡工作正常。

标签: botframework bots messaging endpoint microsoft-teams


【解决方案1】:

这通常是由于您的应用程序中未正确注册或使用应用程序 ID/应用程序密钥,因此未正确验证机器人框架服务。您在哪里/如何做这取决于您开始使用的示例代码/项目模板,但它通常位于 .config 文件中的某个位置(或以前位于 .bot 文件中)。

您需要的信息将在:

  1. 应用 ID:Azure 中的机器人设置页面
  2. App Key:在 Bot 设置页面中,您可以在上面获得 AppId,它链接到 App 注册本身 - 在那里您可以找到关于密钥的部分,并且您可以创建一个新密钥(如果您已经丢失了原来的)

【讨论】:

  • 机器人的应用 ID / 密码存在于 web.config 文件中 - 这似乎是许多相关问题的第一答案,但不是在这里。当端点设置为付费 Azure 订阅托管站点时,我可以成功使用同一个机器人,但不是我自己的。
【解决方案2】:

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

【讨论】:

  • 根据我们的网络人员访问这些地址应该不是问题,无论如何谢谢:(
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2021-07-29
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    相关资源
    最近更新 更多