首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未经授权的网上聊天机器人服务

未经授权的网上聊天机器人服务
EN

Stack Overflow用户
提问于 2018-03-19 11:02:21
回答 2查看 4.1K关注 0票数 2

使用,我创建了一个聊天机器人,我能够使用本地仿真程序测试Bot。Bot服务也处理LUIS,一切都很好。我的机器人服务有MicrosoftAppIdMicrosoftAppPassword in web.config

我把服务部署到Azure。然后在浏览器(Github)中嵌入一个网络聊天,但它不起作用。错误说

代码语言:javascript
复制
Buffer="{
  "message": "An error has occurred.",
  "exceptionMessage": "Unauthorized",
  "exceptionType": "Microsoft.Bot.Connector.MicrosoftAppCredentials+OAuthException",
  "stackTrace": "   at Microsoft.Bot.Sample.LuisBot.MessagesController.<Post>d__0.MoveNext()

......

    "innerException": {
        "message": "An error has occurred.",
        "exceptionMessage": "Response status code does not indicate success: 401 (Unauthorized).",
        "exceptionType": "System.Net.Http.HttpRequestException",
        "stackTrace": "   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n   at Microsoft.Bot.Connector.MicrosoftAppCredentials.<RefreshTokenAsync>d__26.MoveNext()"

我相信当我传递我的网络聊天秘密密钥(我也试图传递生成的令牌,但没有运气),那么它应该是自动授权(传递App IdPassword)。不是吗?

  1. 浏览器嵌入式网络聊天会产生未经授权的错误。
  2. Web聊天窗口中的测试也会出现同样的错误。

我还试图通过删除MicrosoftAppIdMicrosoftAppPassword来部署Bot服务,但是没有任何改变。

对我来说都很新鲜。有人能帮我澄清一下这个问题吗?公开发布我的微软应用程序Id也可以吗?

编辑1

浏览器中Web聊天控件的实现。

  1. 创建了ASP.Net空网站,并有一个HTML页面(index.html)。
  2. 下面的代码是用index.html页面编写的。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>

    <div id="bot" />
    <hr />

    <iframe width="400" height="300" src='https://webchat.botframework.com/embed/#Web_App_Bot_Name#?s=Web_Chat_Secret_Key'></iframe>
</body>
</html>

  1. Microsoft = f0f7297e-7a95-4a8f-afc1-eb3d19906cd0
  2. 通过我的代码呈现的屏幕如下所示。当我发信息的时候,上面写着不能发送。在应用程序服务的Azure诊断中,我认为错误是未经授权的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 06:51:40

401 (未经授权)

您可以尝试以下步骤来解决此问题:

  1. 请检查是否在MicrosoftAppID应用程序设置MicrosoftAppPassword刀片上为您的bot指定正确的

  1. 请检查是否为设置刀片上的bot指定了正确的消息端点。

备注:您还可以尝试Manage your MicrosoftApp和生成该应用程序的新密码,并在Application刀片上指定带有新生成密码的MicrosoftAppPassword,并检查它是否与新密码一起工作。

  1. 请尝试在Azure门户上创建一个新的bot,并将您的bot应用程序发布到您指定为消息端点的相应web应用程序,并检查新的bot是否正常工作。

此外,如果即使您设置了正确的配置,它仍然不能正常工作,您可以尝试使用创建支持请求来报告它。

票数 2
EN

Stack Overflow用户

发布于 2020-08-11 14:28:56

在尝试从bot模拟器访问部署在Azure中的bot时,我还遇到了“错误:未经授权。无效的AppId传递令牌”的错误。解决方案是去bot registration>Access control>,我把自己当成了机器人的所有者。它开始在模拟器里为我工作。我给出了http://localhost:port,没有在模拟器中提供MicrosoftAppId和MicrosoftAppPassword,并且能够在本地调试bot。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49361412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档