1

我使用来自 Microsoft Bot Framework 的 Bot Connector REST API 编写了一个机器人,并通过 Bot Framework Emulator V3.5.25 在 localhost 和远程使用应用程序 ID 和应用程序密码对其进行了测试,它工作得非常完美;但是使用 Skype 频道我可以在我的端点上接收消息,但机器人的答案永远不会到达 Skype 用户。

来自 Skype 用户的传入消息

{
    "text": "Hello bot?",
    "type": "message",
    "timestamp": "2017-03-03T19:08:30.988Z",
    "id": "1488568110992",
    "channelId": "skype",
    "serviceUrl": "https://smba.trafficmanager.net/apis/",
    "from": {
        "id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k",
        "name": "Skype User"
    },
    "conversation": {
        "id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k"
    },
    "recipient": {
        "id": "28:e20620eb-b214-4b02-8de1-c7fd14c11005",
        "name": "My_bot"
    },
    "entities": [{
        "locale": "es-ES",
        "platform": "Windows",
        "type": "clientInfo"
    }]
}

来自我的机器人的传出消息

{
"type": "message",
"text": "Bot is Ok",
"replyToId": "1488568110992",
"locale": "es",
"channelId": "skype",
"serviceUrl": "https://smba.trafficmanager.net/apis/",
"from": {
    "id": "28:e20620eb-b214-4b02-8de1-c7fd14c11005",
    "name": "My_bot"
},
"conversation": {
    "id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k"
},
"recipient": {
    "id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k",
    "name": "Skype User"
}
}

我没有收到来自 Bot Framework 的 json 有效负载响应,只是这个状态:400 Bad Request。仅出于测试目的,我的机器人发送了一个缺少一些参数的响应,以及具有相同状态的 Bot Framework 响应和一个带有错误消息代码和文本的 json 有效负载。

我没有发布我的机器人,但根据 Bot Framework 文档,没有必要。

我错过了什么?有人有想法吗?

提前致谢。

4

2 回答 2

1

是的,Skype 机器人无需发布即可工作。我想建议您几个检查点并检查您是否已经尝试过它们:

Bot Framework Developer Portal 包含一个测试面板,您可以在其中测试从 Bot 连接器服务到您的机器人的连接。Bot Connector 使用的安全模型与 Emulator 使用的安全模型略有不同,这是测试机器人身份验证的最现实步骤。

按照以下步骤在启用安全性的云中测试您的机器人:确保您的机器人已部署并正在运行

  1. 登录 Bot Framework Developer Portal,单击“我的机器人”,如有必要,从列表中选择要调试的机器人。
  2. 找到屏幕左下角的测试面板,然后单击蓝色的“测试”按钮。测试结果显示在按钮下方。
  3. 请在 Skype 开发人员门户上检查你的机器人的状态。
  4. 如果机器人的状态为待审核。当状态为“待审核”时,该机器人似乎无法工作。检查此屏幕截图只有在发布前看起来像这样,机器人才会成功注册。

如果您仍有任何问题,请告诉我详细信息。

谢谢

-乔

于 2017-03-13T18:17:40.797 回答
1

抱歉,问题已解决。

承载方案格式错误,而不是承载,有承载。

改变了这一点,一切正常。

真对不起。

于 2017-03-23T00:10:36.597 回答