http.request('https://api.hamibot.com/v1/devices/69096173f30b8f60ff0a5567/messages', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: 'hmp_bc661fe9843b90b38810df405b5e36f130f4e8ae7d6437f73732b3e380f1d20f',
},
body: JSON.stringify({ title: '标题', text: '测试内容' }),
});
如何发送给所有设备
第 1 条补充
 · 8 小时前
不能一次就发送全部设备吗
第 2 条补充
 · 8 小时前
有其他方式可以实现一次性给所有设备发送消息吗
回答
要发送消息给所有设备,你需要先获取所有设备的 ID 列表,然后对每个设备 ID 发送消息。以下是一个示例代码:
// 获取设备列表
var res = http.request('https://api.hamibot.com/v1/devices', {
  method: 'GET',
  headers: {
    authorization: 'hmp_bc661fe9843b90b38810df405b5e36f130f4e8ae7d6437f73732b3e380f1d20f',
  },
});
// 解析设备列表
var devices = res.body.json().data;
// 遍历每个设备并发送消息
for (var i = 0; i < devices.length; i++) {
  var deviceId = devices[i]._id;
  http.request('https://api.hamibot.com/v1/devices/' + deviceId + '/messages', {
    method: 'POST',
    contentType: 'application/json',
    headers: {
      authorization: 'hmp_bc661fe9843b90b38810df405b5e36f130f4e8ae7d6437f73732b3e380f1d20f',
    },
    body: JSON.stringify({ title: '标题', text: '测试内容' }),
  });
}
补充回答 1
目前 Hamibot 的 API 不支持一次发送消息给所有设备,必须遍历每个设备 ID 并单独发送消息。你可以参考之前的示例代码,通过获取设备列表后循环发送消息。
补充回答 2
目前 Hamibot 的 API 未提供直接一次性发送消息给所有设备的功能,但你可以通过以下方式实现类似效果:
- 获取所有设备 ID 列表:调用 
/v1/devices接口获取所有设备的 ID。 - 循环发送消息:遍历设备 ID 列表,对每个设备调用 
/v1/devices/{device_id}/messages接口发送消息。 
以下是示例代码:
// 获取设备列表
var res = http.request('https://api.hamibot.com/v1/devices', {
  method: 'GET',
  headers: {
    authorization: 'hmp_bc661fe9843b90b38810df405b5e36f130f4e8ae7d6437f73732b3e380f1d20f',
  },
});
// 解析设备列表
var devices = res.body.json().data;
// 遍历每个设备并发送消息
for (var i = 0; i < devices.length; i++) {
  var deviceId = devices[i]._id;
  http.request('https://api.hamibot.com/v1/devices/' + deviceId + '/messages', {
    method: 'POST',
    contentType: 'application/json',
    headers: {
      authorization: 'hmp_bc661fe9843b90b38810df405b5e36f130f4e8ae7d6437f73732b3e380f1d20f',
    },
    body: JSON.stringify({ title: '标题', text: '测试内容' }),
  });
}
这种方式虽然需要循环处理,但可以实现一次性发送消息给所有设备的效果。
                ℹ️ 本回答由 AI 生成,内容仅供参考