function SendMsg(_id,content,_hmp) {
threads.start(function() {
try {
var response = null;
var retryCount = 0;
var maxRetries = 3;
var retryDelay = 1000; // 延迟重试时间(毫秒)
while (retryCount < maxRetries) {
response = http.request('https://api.hamibot.com/v1/robots/' + _id + '/messages', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: '_hmp',
},
body: JSON.stringify({ title: '喊话内容', text: content }),
});
if (response.statusCode == 204) {
var result = response.body.string();
log('网络请求的响应:' + result);
return; // 请求成功,退出循环
} else {
log('网络请求失败,状态码:' + response.statusCode);
retryCount++;
java.lang.Thread.sleep(retryDelay);; // 延迟重试
}
}
log('网络请求超过最大重试次数');
} catch (e) {
if (e instanceof java.io.InterruptedIOException) {
// 处理中断异常
log('网络请求中断异常:' + e);
} else {
// 处理其他异常
log('网络请求发生异常:' + e);
}
}
});
}
以上是我写的一个方法,尝试了各种方法.弄了一天了,还是没能消息推送成功一次,按道理很简单的问题,我都开始怀疑自己了.
第 1 条补充
· 2 年前
authorization: '_hmp',这里应该是authorization: _hmp,
第 2 条补充
· 2 年前
我就请求一次.但是总是发送给我请求异常:请求速录超过限制了.太奇怪了
回答
参考一下
curl -X POST -H "Authorization: <你的令牌(hmp开头)>" -H "Content-Type: application/json" -d '{"title": "标题", "text": "消息内容"}' https://api.hamibot.com/v1/robots/<你的机器人ID(确保和令牌是同一账户,且是在线的)>/messages
curl -X POST -H "Authorization: hmp_xxxxxxxxxxxx" -H "Content-Type: application/json" -d '{"title": "标题", "text": "消息内容"}' https://api.hamibot.com/v1/robots/xxxxxxxxxxxxxxx/messages
以解决 ,是参数问题,