You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity集成Bot Framework DirectLine发送消息报Invalid or missing activities错误

解决Unity集成Direct Line聊天机器人时发送消息返回400错误的问题

咱们先看Fiddler抓包返回的错误提示:Invalid or missing activities in HTTP body,这其实直接点出了问题核心——你的POST请求体格式不符合Direct Line v3 API的要求。

问题出在哪?

你现在发送的请求体是单个message对象,但Direct Line v3要求必须把消息包裹在activities数组里,这就是为什么服务器返回了MissingProperty错误。

你当前的请求体:

{
  "type": "message",
  "channelId": "directline",
  "from": {
    "id": "default-user",
    "name": "User"
  },
  "text": "message text"
}

修正后的正确请求体

把单个消息对象放进activities数组中,调整后的格式如下:

{
  "activities": [
    {
      "type": "message",
      "channelId": "directline",
      "from": {
        "id": "default-user",
        "name": "User"
      },
      "text": "message text"
    }
  ]
}

额外要注意的细节

  1. 因为你用了Transfer-Encoding: chunked,记得更新分块数据的长度(就是请求体前的那个76),要和修正后JSON的实际长度匹配,不然可能会触发新的格式错误。
  2. 虽然你能正常发起新对话,说明Bearer令牌大概率是有效的,但如果调整格式后还是有问题,可以再确认下令牌的有效期和权限。

Web或者Skype端的SDK会自动帮你处理这个格式封装,但Unity端的这个库可能没做这一步,所以需要手动调整请求体结构,改完之后应该就能正常收到机器人的响应了。

内容的提问来源于stack exchange,提问作者maszeq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:00:05