【问题标题】:Ms Teams HelloWorld Sample: Emulator not working: 401 UnauthorizedMs Teams HelloWorld 示例:模拟器不工作:401 Unauthorized
【发布时间】:2019-09-12 19:30:25
【问题描述】:

我正在运行 HelloWorld 应用示例(浏览器启动:http://localhost:3333/

在 Bot Framework Emulator 中,我打开一个 Bot (http://localhost:3333/api/messages) 并连接。

我写了一条消息,我看到了:

Cannot post activity. Unauthorized.
POST 401 directline.postActivity

我尝试过使用和不使用 ngrok,但我想这不是问题。

有什么问题?

谢谢,

迭戈

【问题讨论】:

  • 您能检查一下 web.config 文件中的 AppSettings 吗?并确保您在 web.config 文件的 AppSettings 下正确提供了键值。
  • 在 Web.config - appSettings 我有 MicrosoftAppId = [Project Properties-Application-Assembly-GUI value] 和 MicrosoftAppPassword =""
  • 你能分享你的机器人ID吗?
  • 恐怕这是问题所在......我认为要在本地测试我的 Web 应用程序,让项目在 Visual Studio 中运行并且模拟器可以与之通信就足够了。我在这里没有管理任何机器人 ID...我在 dev.botframework.com 创建了一个机器人,因为我尝试将我的应用程序加载到 Teams 应用程序(没有成功),在这种本地情况下我必须做什么?非常感谢您的帮助
  • 您可以在dev.botframework.com 的机器人设置下查看机器人 ID,请使用在 web.config 文件中创建的机器人 ID 和机器人密码更新您的应用设置,同时使用相同的机器人 ID 更新您的清单。请试试这个,如果您遇到任何问题,请告诉我们。

标签: microsoft-teams


【解决方案1】:

我明白了。一旦我看到 Emulator 需要空的“Appid”和“PasswordId”值 (appsettings.json),我就尝试让我的 BOT 在 Teams 客户端中运行。

现在我的应用程序在本地运行,并在 Teams 客户端中创建了一个 Bot,它可以使用 ngrok 重定向与其交互

关键是从使用与 Azure 门户相同的用户登录并使用 App Studio 的团队客户端(不在 dev.botframework.com/bots 中)创建机器人。 然后在 Azure 门户中自动创建一个应用程序 (NewApp)。

重要:

  • appsettings.json 中的 App Id 是从 App Studio Bots 选项创建的。它也在 Azure 门户中:App registrations-NewApp-'Application (client) ID'。并且在 botframework 中也有两次(NewBot 设置:'Bot 句柄'和'配置'-'在下面粘贴你的 appId...')

  • 在 App Studio 的“应用程序创建”中,应用程序详细信息中有另一个“应用程序 ID”。不必相同。

  • appsettings.json 中的应用密码是在 App Studio 中创建的密码(应用密码 -> 生成)。它也在 Azure 门户中:App registrations-NewApp-Certificates&secrets/Client secrets
  • ngrok url 必须添加到 App Studio 机器人中(消息传递端点:'https://xxxxxx.ngrok.io')。它也在 botframework 中(NewBot Settings-Messaging 端点)

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多