2

我注意到 Direct Line 请求 url 是这样的:https://localhost:8011/api/在文档中。应该用什么来代替它?

我已经从botbuilder示例文件夹中部署了一个 todoBot 示例项目。并且我在My botssection中创建了一个bot,结束点是:http://www.bigluntan.com:3978/api/messages. 我已经在Test connection to your bot部分进行了测试,当我输入内容并发送它时它正在工作。现在,我想试试 Direct Line。所以我在频道中添加了 Direct Line。但最困惑的部分是,我如何调用这个 Direct Line api,因为终点与我的机器人的终点不同。

4

2 回答 2

6

基本 URL 是https://directline.botframework.com,例如,获取新的 conversationId 的 POST 请求应该是https://directline.botframework.com/api/conversations/

请求标头应包括 Content-Type 以及以下内容:

授权:BotConnector <你的秘密>

您的秘密是您为注册的 Bot 创建 Direct Line 频道时创建的代码(见下图)。例如

Content-Type: application/json; charset=utf-8 
Authorization: BotConnector pB7INWcXQjA.cwA.RF4.cglOUNHUOzWVv0Rlk3ovFNhtp1JPz1Zx9jmu8vX7zXs

一旦你得到一个conversationId,你可以使用URL https://directline.botframework.com/api/conversations/<conversationId>/messages 发布一条消息

请求的正文应包括消息文本。您不会在 POST 响应中得到回复。相反,您需要通过向https://directline.botframework.com/api/conversations/< conversationId >/messages发送 GET 来获取它 。从那里,您可以在您的第一条消息中获取“来自”值,并在随后调用同一对话中使用它(否则机器人将无法识别状态,并且只是继续重复第一条回复消息),例如

{
text: "yes",
from: "EQxvIzZOspA"
}

在此处输入图像描述

于 2016-04-13T22:15:43.270 回答
1

我通过反复试验发现了这一点。如果您想使用直接线路 api,您应该尝试将https://directline.botframework.com 作为基本 URL

于 2016-04-12T22:31:40.670 回答