【问题标题】:Error: The bot's MSA appId or password is incorrect错误:机器人的 MSA appId 或密码不正确
【发布时间】:2018-06-01 13:38:07
【问题描述】:

您好,我正在使用 Bot 框架,因为我在将机器人发布到 azure 后在本地机器人模拟器中测试机器人时遇到了这个问题,并且在机器人模拟器中我提供了已发布的 url 和 Microsoft appid 和机器人模拟器中的微软秘密。当我连接到 azure 时,它​​会显示如下问题。

Command failed: 4294967295 System.AggregateException: One or more errors occurred. ---> System.Exception: Couldn't acquire lock, is another instance running at Squirrel.SingleGlobalInstance..ctor(String key, TimeSpan timeOut) at Squirrel.UpdateManager.<acquireUpdateLock>b__32_0() at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Squirrel.UpdateManager.<CheckForUpdate>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Squirrel.Update.Program.<CheckForUpdate>d__8.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task`1.get_Result() at Squirrel.Update.Program.executeCommandLine(String[] args) at Squirrel.Update.Program.main(String[] args) at Squirrel.Update.Program.Main(String[] args) ---> (Inner Exception #0) System.Exception: Couldn't acquire lock, is another instance running at Squirrel.SingleGlobalInstance..ctor(String key, TimeSpan timeOut) at Squirrel.UpdateManager.<acquireUpdateLock>b__32_0() at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Squirrel.UpdateManager.<CheckForUpdate>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Squirrel.Update.Program.<CheckForUpdate>d__8.MoveNext()<--- {} 

POST 401 [conversationUpdate]

POST 401 [conversationUpdate]

错误:机器人的 MSA appId 或密码不正确。

编辑您的机器人的 MSA 信息

POST 401 [conversationUpdate]

错误:机器人的 MSA appId 或密码不正确。

编辑您的机器人的 MSA 信息

我删除了 App Id 和密码并尝试在本地运行它,然后它可以正常工作。

我在互联网上进行了研究,但找不到任何可以解决我问题的解决方案。请帮忙。

提前致谢

【问题讨论】:

  • 因为您正在尝试访问在本地模拟器上部署在 Azure 上的机器人服务。尝试删除MsAPPIDPassword。它会起作用的。该模拟器旨在在不部署的情况下在本地测试机器人。
  • 在本地测试时将端点指定为 http://localhost:3979/api/Messages,而不是 Azure 端点。
  • 如何在机器人框架模拟器中使用已发布的 url 测试我的机器人
  • 您只能在模拟器中本地测试机器人,进行更改并再次发布。当您进行更改并再次发布时,更改将反映在 Azure 中。
  • 你只是得到一个 HTTP 401 这是未经授权的请求。要调试已发布的机器人,请尝试使用 ngrok

标签: azure visual-studio-2017 bots botframework


【解决方案1】:

您可以尝试在您的机器人模拟器中使用http://localhost:3979/api/Messages,但不要输入任何类型的 ID 和密码,并将其从您的 web.config 中删除

如下图所示:

然后按 ctrl+f5 然后尝试。它将开始在您的本地环境中运行。

对于远程调试,您需要使用 ngork。

如果您需要更多说明,请告诉我。

【讨论】:

    【解决方案2】:

    显然,模拟器只允许测试本地机器人,不能与已发布/托管的机器人一起使用。对于已发布,我直接通过“网络聊天测试”功能在 Azure 上进行测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2023-03-13
      • 2017-12-03
      • 2015-02-19
      相关资源
      最近更新 更多