【问题标题】:Adding Teams messaging extension to an existing Graph Api project将 Teams 消息传递扩展添加到现有 Graph Api 项目
【发布时间】:2021-11-12 15:50:52
【问题描述】:

我正在使用 AspNetCore 和使用 typescript 开发一个 Teams 应用程序。 我想将消息传递扩展功能添加到我的应用程序中。我已经从这里测试了基于动作的消息扩展的可用示例 - https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/51.teams-messaging-extensions-action

我可以运行此示例并成功连接到我在 Azure 资源组中创建的机器人。

由于我已经创建了一个 Teams 项目,我想知道我是否可以只添加使该示例中的消息传递扩展工作的代码,或者我是否需要一个单独的项目来运行机器人和消息传递扩展?

注意- 我的原始项目中没有 Bot 实现。

【问题讨论】:

    标签: asp.net-core botframework microsoft-teams


    【解决方案1】:

    绝对可以将它们组合到同一个项目中,您只需要确保端点都能正常工作。按照惯例,该机器人在“/api/messages”之类的地方有一个端点,但这只是一个约定——你可以使用它或任何你喜欢的东西,只要你在 Azure Bot 注册中正确配置它与 ASP.Net 项目的其余部分相比,知道您的机器人的端点是什么。

    【讨论】:

    • 我有示例代码作为参考,我们在 appsettings.json 中添加了 BotID 和 Secret,但是我无法弄清楚他们在代码中的哪里使用这些值。我在项目中添加了 BotController 和 TeamsActivityHandler,但想了解项目运行时从哪里使用 BotID 和 Secret。
    • 这是在一个名为BotFrameworkHttpAdapter 的类内部处理的,默认情况下它会尝试从您的配置文件中读取所需的值。见这里:github.com/microsoft/botbuilder-dotnet/blob/main/libraries/…
    • 我已经在我的项目的各个控制器和服务中添加了 BoController 和 Bot 代码。然而,除了这些之外,我还需要添加哪些其他更改来添加我的项目?我注意到的一件事是我们在启动时添加了 IBotFrameworkHttpAdapter 和 IBot。我是否也需要在我的代码中添加它。
    • 是的,绝对是你做的——这就是他们被“激活”的方式,可以这么说。开箱即用,该项目正在使用依赖注入。它本身不是构建机器人所必需的,但这只是一种很好的开发实践,这就是示例/入门套件使用它的原因。如果您不熟悉该主题,请在 Google 上搜索更多信息。
    • @MaheSHYU - 如果答案有帮助,请接受它作为答案,以便遇到相同问题的其他人可以找到此解决方案并解决他们的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2011-03-01
    • 2021-09-23
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多