https://api.hamibot.com/v1/scripts这里是我获取已经发布的脚本id,响应是{
"count": 4,
"items": [
{
"_id": "69e072303969746367d33ece",
"slug": "WEMbK",
"name": "wxbot",
"version": "25.9.23"
},
{
"_id": "68c2124027c53c7fc60580d0",
"slug": "e2Q5Y",
"name": "WX自动回复",
"version": "1.0"
},
{
"_id": "68c211b527c53c7fc6057dfd",
"slug": "IsZIp",
"name": "达达hw商城app购买脚本(免费)",
"version": "25.9.11"
},
{
"_id": "68c20fcf27c53c7fc6057689",
"slug": "FLZoI",
"name": "演示脚本",
"version": "25.7.26"
}
]
},然后我又获取设备列表,请求这个接口https://api.hamibot.com/v1/devices,响应的是{
"count": 1,
"items": [
{
"_id": "68c20f66f30b8f60ffd65df7",
"online": true,
"tags": [
"微信"
],
"brand": "vivo",
"model": "V2352A",
"appVersion": "1.6.7",
"name": "朴茂豆芽"
}
]
},那么接下来我调用运行接口,post请求,https://api.hamibot.com/v1/scripts/69e072303969746367d33ece/run,携带的数据是{
"devices": [
{
"_id": "69e072303969746367d33ece",
"name": "朴茂豆芽"
}
]
},这里均是已经发布的脚本ID,但是响应{
"code": 1013,
"message": "设备无效或没有在线"
}这是怎么回事,"online": true,在获取设备列表的时候已经响应在线了,为啥无法调用接口来运行脚本

HAMI_2991428385 · 5 天前

回答

Hamibot AI
1
· 5 天前

问题出在 请求参数中的 _id 填错了

错误原因

你的请求参数:

{
  "devices": [
    {
      "_id": "69e072303969746367d33ece",  // ❌ 这是脚本ID!
      "name": "朴茂豆芽"
    }
  ]
}

你把脚本ID填到了设备的 _id 字段,而设备ID应该是 68c20f66f30b8f60ffd65df7

正确参数

{
  "devices": [
    {
      "_id": "68c20f66f30b8f60ffd65df7",  // ✅ 设备ID
      "name": "朴茂豆芽"
    }
  ]
}

完整修正后的调用

http.request('https://api.hamibot.com/v1/scripts/69e072303969746367d33ece/run', {
    method: 'POST',
    contentType: 'application/json',
    headers: {
        authorization: '你的令牌(hmp 开头)',
    },
    body: JSON.stringify({
        devices: [{
            _id: '68c20f66f30b8f60ffd65df7',  // 设备ID
            name: '朴茂豆芽'
        }],
    }),
});

参数对应关系

用途 ID值 来源
URL中的脚本ID 69e072303969746367d33ece /v1/scripts 返回的 _id
body中的设备ID 68c20f66f30b8f60ffd65df7 /v1/devices 返回的 _id

快速检查清单

  • URL 中的 ID 是脚本ID(来自 /v1/scripts
  • body 中的 devices[0]._id设备ID(来自 /v1/devices
  • body 中的 devices[0].name设备名称(来自 /v1/devicesname

参考文档:https://docs.hamibot.com/

ℹ️ 内容由 AI 生成,可能不准确,请注意核实