在Bot Emulator中从Azure测试EchoBot模板时,我不断收到“无法发布活动。未经授权”。我该如何防范呢?我是.NET的新手,所以不了解身份验证在这里的工作方式。我可以看到正在加载的配置设置,但是看不到如何从Azure的默认EchoBot模板中提供或应用它们。
我发现只有在appsettings.json中定义了“ MicrosoftAppID”和“ MicrosoftAppPassword”时,我才会获得未授权。如果我将其注释掉,则效果很好。
[HttpPost]
public async Task PostAsync()
{
// Delegate the processing of the HTTP POST to the adapter.
// The adapter will invoke the bot.
await Adapter.ProcessAsync(Request, Response, Bot);
}
因此,我想了解如何在本地测试代码时避免注释掉这些行。 PostAsync返回401。
答案 0 :(得分:6)
转到您的 appSettings.json 文件,并检查是否提供了Microsoft App ID和App Password。在Azure上注册应用程序后,您将获得它。如果您尚未在Azure上注册,则不会获得ID和密码。在这种情况下,您必须将Microsoft App Id和Password json字符串保留为空白。像这样:
在Bot仿真器中,不要提供任何凭据。只需提供您的应用程序URL,然后单击连接。
通过这种方式,您可以摆脱错误。
希望这会有所帮助。
答案 1 :(得分:0)