MS Bot,Direct line API,无法发送活动,如何修复



我一直在尝试在应用程序中设置MS Bot。到目前为止,我做了以下。

  1. 为Bot设置一个REST端点,该连接器会侦听它。

    app.post("/botapi/messages", connector);
    
  2. 获取APP_ID和APP_PASSWORD,模拟器成功连接到以下,

    http://localhost:4000/botapi/messages
    APP_ID
    APP_PASSWORD
    

    这是成功的,机器人如预期的那样回答。

  3. 尝试使用Direct Line API与Bot对话。已成功启动对话。其中一项回应如下。

    {
    "conversationId": "3JYZyAn5VYB3HNcO3tcgtn",
    token: ....
    .....
    }
    

    正如文档中所说,我使用了"nodefetch"包来发出POST请求。

但是,我无法使用Direct Line API发送活动,已收到

internal server error 500

文档中说POST请求应该如下所示。

POST 
https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer my_secret

这对于启动对话非常有效,但对于发送活动则不适用。

我发送的活动是:

{
"type": "message",
"from": {
"id": "user1"
},
"text": "hello Bot, say something"
}

我不认为"id"是重要的东西,所以这就是我在上发布的内容

https://directline.botframework.com/v3/directline/conversations/{conversationId}/activities

我使用了开始对话时收到的对话ID。我在谷歌上搜索了一下,但没有找到我的问题的答案。此外,我还有一些问题,也许他们的回答会对我有所帮助

Q1:网址"https://directline.botframework.com/v3/directline/"每个使用Direct Line API的人都一样吗?当我用机器人程序的端点替换它时,"http://localhost:3000/botapi/messages/conversations",我甚至无法开始对话,什么都不起作用。

Q2:Direct Line API是如何工作的?我将我的秘密发布给API POST,然后API如何找到我的机器人?Bot和API是如何通信的?我是不是遗漏了什么?

Q3:当我发布POST发送活动时,我遵循了文档。在授权中,我尝试了我的秘密和从开始对话中获得的令牌,但都不起作用。我认为两者都应该起作用。我错了吗?

Q4:我需要使用Bot连接器服务吗?我读了这篇文章,但不知道它是干什么用的。我错了吗?

那么,我在这里错过了什么?如何发送活动?

注意:我的机器人没有部署到azuri或aws,它只在我的Mac上。但是,正如文档所解释的,我得到了DirectLine的APP_ID、APP_PASSWORD和SECRET。

文档指定这是通过Direct Line:向机器人程序发送活动(消息)的端点

https://directline.botframework.com/v3/directline/conversations/{conversationId}/activities

在此URI中,{conversationId}是启动会话时在响应正文中收到的会话ID(conversationId值)。请求的主体应该指定有关您发送的活动的信息,例如:

{
"type": "message",
"from": {
"id": "user1"
},
"text": "hello"
}

最后,回答您的问题:

  • Q1:所有Direct Line API请求的基本URI相同。

  • Q2:您在请求的Authorization标头中指定的Direct Line机密或令牌用于识别请求应定向到的bot

  • Q3:是的,您应该能够指定在发送活动请求的Authorization标头中的开始对话响应中接收的机密或token值。但是,请注意,您在开始对话响应中收到的令牌只能用于与特定对话进行交互。

  • 问题4:您链接到的文章与使用Direct Line API没有直接关系。(但正如@EzequielJadib在评论中提到的那样,你确实需要为你的机器人启用Direct Line频道。)

相关内容

最新更新