C# Bot框架门户网站-“;“测试与您的机器人的连接”;401未经授权
我创建了一个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键为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密钥 然而,当我尝试“测试与你的机器人的连接”
<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后是否重新发布了应用程序?你能(用卷发器/邮递员)手动到达吗?