如何使用Microsoft Bot服务中的直接线路发布到网络聊天?

时间:2017-12-21 22:02:18

标签: node.js azure botframework azureportal azure-bot-service

在天蓝色门户网站的测试网络聊天中,我让机器人通过从session.message.address.conversation.id获取会话ID来回复我。

我希望使用此处描述的方法查看此会话ID的活动:

https://docs.microsoft.com/en-us/bot-framework/rest-api/bot-framework-rest-direct-line-3-0-send-activity

(POST https://directline.botframework.com/v3/directline/conversations/abc123/activities

但是,我收到以下错误:

{
"error": {
    "code": "BadArgument",
    "message": "Unknown conversation"
    }
}

我也尝试过:

POST https://webchat.botframework.com/v3/directline/conversations/9323c31ab1ba42328edc9191621f9c9c/activities

有关如何使用直线发布/查看网络聊天活动的任何帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

解释您的问题

我无法通过POST对话重现您的问题。实际上,我只能通过以下步骤重现您的问题:

生成直线令牌=>利用回复conversationIdtoken直接致电Retrieve activities with HTTP GET

GET https://directline.botframework.com/v3/directline/conversations/abc123/activities
Authorization: Bearer token

正确的步骤是: 生成令牌=> POSTStart a conversation => GETRetrieve activities with HTTP GET

根据您的要求 我不认为我们可以在转换之外中断,如Generate a Direct Line token

的描述
  

生成可用于访问单个会话的直线令牌。

因此,您从其他任何地方询问的令牌都无法在网络聊天中请求活动。

解决方法

您可以利用BotFramework-WebChat快速构建网站bot测试环境。并在您自己的服务器中生成令牌以进行僵尸客户端身份验证。然后,您可以使用生成的令牌和conversationId来请求机器人和本机器人客户端网站之外的所有活动。