2

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

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

但是,我收到以下错误:

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

我也试过:

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

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

谢谢!

4

1 回答 1

0

解释你的问题

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

生成直达令牌 => 利用响应conversationId并使用 HTTP GETtoken直接调用Retrieve 活动

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

正确的步骤是:生成令牌 =>POST开始对话=>GET使用HTTP GET 检索活动

对于您的要求 ,我认为我们不能在转换之外中断,如Generate a Direct Line token的描述

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

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

解决方法

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

于 2017-12-22T08:28:39.757 回答