刷新访问令牌失败,状态码:401

时间:2019-06-06 04:14:30

标签: c# botframework

我正在尝试在本地主机上测试botframework服务器。 我遵循了https://docs.microsoft.com/en-us/azure/bot-service/bot-service-troubleshoot-authentication-problems?view=azure-bot-service-4.0#step-3-enable-security-and-test-on-localhost-中的步骤。

首先,我使用MicrosoftAppId更改了应用程序配置,并且MicrosoftAppPassword通过了https://docs.microsoft.com/en-us/azure/bot-service/bot-service-troubleshoot-authentication-problems?view=azure-bot-service-4.0#step-2的测试。 然后,我在本地主机上启动了我的机器人,并且网页显示它正在http://localhost:3979/上运行。 但是,当我尝试在Bot Framework Emulator上对其进行测试时,它返回400 directline.postActivity,并显示消息“刷新访问令牌失败,状态码为401”。

屏幕截图位于https://i.loli.net/2019/06/06/5cf88ea120b9973175.png上。

我的botframework版本是3.13.1。 我的Bot Framework Emulator版本是4.3.3。

我该怎么做才能解决此问题? 感谢您的帮助。

{
  "error": {
    "code": "ServiceError",
    "message": "Refresh access token failed with status code: 401"
  }
}
[11:42:22]POST 201 directline.start Conversation
[11:42:22]Emulator listening on http://localhost:49840
[11:42:22]ngrok listening on https://082d32c4.ngrok.io
[11:42:22]ngrok traffic inspector:http://127.0.0.1:4040
[11:42:22]Will bypass ngrok for local addresses
[11:42:25]->message hi
[11:42:26]POST 400 directline.postActivity

1 个答案:

答案 0 :(得分:0)

"Refresh access token failed with status code: 401"错误几乎总是与appId / appPass有关。

请验证:

  1. 您从App Registration Portal获得了正确的appId / appPass

enter image description here

enter image description here

注意:如果您没有保存密码,只需单击“新客户端密码”以生成一个新密码。

  1. 验证您是否在web.config中设置了正确的appId / appPass

enter image description here

  1. 验证您在模拟器中输入了正确的app / Id / appPass:

enter image description here


您还应该upgrade Emulator to the latest release。早在4.3.3之前,模拟器中就有一个错误导致了此错误,但是我猜V3机器人可能会出现类似的情况,因为我们很少使用它们。

如果这是新机器人,那么您实际上应该使用V4。 V3将于2019年7月1日弃用。现有的bot可以使用,但用户将无法再创建它们。