【发布时间】:2019-02-13 12:47:15
【问题描述】:
我在聊天机器人中发送消息时遇到问题。我已采取以下步骤来创建聊天机器人。
- 使用 Bot 框架 SDK v-4 创建机器人并发布到 Azure
- 创建了 Bot Channels Registrations 并注册了 App ID
- 在 Azure 中我的机器人服务 API 的应用设置中包含机器人通道的 AppID 和密码
- 使用 botchat-es5.js(es-5 版本)创建了一个 Web 客户端
当我键入并发送消息(使用 Web 客户端)时,我的浏览器控制台上出现以下错误(代码错误 502)。
发布https://directline.botframework.com/v3/directline/conversations/7IqYgcAzBp4EObQvFzK2fF/activities 502(错误网关)
Directline 和 Web 聊天频道日志将错误消息显示为
向您的机器人发送此消息时出错:HTTP 状态代码 禁止
下面是请求头的详细信息。
以下是 Bot 配置 (.bot) 文件的详细信息。请注意,App ID 和 Password 为空,如果这是问题所在?
{
"name": "Chatbot",
"services": [
{
"type": "endpoint",
"name": "development",
"endpoint": "http://localhost:3978/api/messages",
"appId": "",
"appPassword": "",
"id": "1"
},
{
"type": "endpoint",
"name": "production",
"endpoint": "https://<my_app_name>.azurewebsites.net/api/messages",
"appId": "<YOUR APP ID>",
"appPassword": "<YOUR APP PASSWORD>",
"id": "2"
}
],
"padlock": "",
"version": "2.0"
}
我尝试在不同的订阅上重新创建所有这些,但我得到了同样的错误。我有另一个正在运行的机器人,如果我在同一个 Web 客户端中使用该机器人的 Directline 通道密钥,它可以正常工作。
我查找了一些在线参考资料,但没有帮助。如果我遗漏了什么,有人可以帮我吗?如果我可以提供更多详细信息,请告诉我。
【问题讨论】:
-
在您的
.bot文件中,您需要为您的生产端点设置appId和appPassword。 403 Forbidden 错误几乎总是与 appId/password 相关。您使用什么方法来部署/发布您的机器人?我可以帮助您完成部署步骤。
标签: botframework azure-bot-service direct-line-botframework