C# Bot框架门户网站-“;“测试与您的机器人的连接”;401未经授权

C# Bot框架门户网站-“;“测试与您的机器人的连接”;401未经授权,c#,azure,botframework,C#,Azure,Botframework,我创建了一个bot应用程序,我已经成功地通过模拟器在本地进行了测试 接下来,我将Bot应用程序发布到Azure。(创建为) 然后,我转到位于的Microsoft Bot Framework门户并注册了Bot,并确保将消息传递端点设置为 https://mybotappname.azurewebsites.net/api/messages 成功注册后,我在web.config中更新了MicrosoftAppId和MicrosoftAppPassword密钥 然而,当我尝试“测试与你的机器人的连接”

我创建了一个bot应用程序,我已经成功地通过模拟器在本地进行了测试

接下来,我将Bot应用程序发布到Azure。(创建为)

然后,我转到位于的Microsoft Bot Framework门户并注册了Bot,并确保将消息传递端点设置为

https://mybotappname.azurewebsites.net/api/messages

成功注册后,我在web.config中更新了MicrosoftAppId和MicrosoftAppPassword密钥

然而,当我尝试“测试与你的机器人的连接”时,我看到的只是一条消息

“未经授权”

如何调试这是从哪里来的?

我已尝试运行Bot框架通道模拟器,将Bot Url设置为与Bot为消息传递端点设置的Url相同的Url。这也给了我一条“401Unauthorized”消息,但我不知道如何/在哪里调试原因

有没有人经历过这种情况,或者知道我可以做些什么来调试

谢谢

我想明白了:

在web.config中,默认的appSetting键为

<add key="AppId" value="ID" />
<add key="AppSecret" value="SECRET" />

在文档中,我们设置:

<add key="MicrosoftAppId" value = "ID" />
<add key="MicrosoftAppPassword" value = "SECRET" />


我的问题是没有将这些appSetting密钥更新为MicrosoftAppId和MicrosoftAppPassword。一旦我这样做了,它就成功了。

入门指南在这方面有点误导。在步骤5中,它告诉您:

Bot框架注册页面中的AppId和AppPassword必须记录在项目的web.config中

在后面的Emulator部分中,它特别告诉您在本地运行时不要将appid或密码放入Emulator工具内的框中。此部分不正确,如果web.config文件中有值,则必须将相同的值放入emulator。您可以在emulator中将这些值留空,但还需要将它们从web.config文件中删除

此页面对于解决身份验证问题非常有帮助:

在尝试访问Azure中部署的机器人时,我也遇到了此错误“错误:未经授权。令牌上传递的AppId无效”。解决方案是转到Bot注册>访问控制>我将自己添加为Bot的所有者。它开始在模拟器中为我工作。我给http://localhost:port 并且没有在模拟器中提供MicrosoftAppId和MicrosoftAppPassword,我可以在本地调试bot。

这可能是个愚蠢的问题,但是您在更改web.config后是否重新发布了应用程序?你能(用卷发器/邮递员)手动到达吗?