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

问题描述 投票:2回答:1

在azure portal中的测试网络聊天中,我让机器人通过从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

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

谢谢!

node.js azure botframework azureportal azure-bot-service
1个回答
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的描述

生成可用于访问单个会话的Direct Line令牌。

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

解决方法

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

© www.soinside.com 2019 - 2024. All rights reserved.