回答
使用 Hamibot REST API 时,如果额度不足,接口状态码不会返回 2XX,而是会返回表示错误的状态码。
Hamibot API 遵循标准的 RESTful 设计规范:
- 成功请求:通常返回
200或204状态码。 - 错误请求:如参数错误返回
422,额度不足或频率限制通常会返回402(Payment Required)或429(Too Many Requests)等 4XX 系列状态码。
因此,在编写脚本时,必须对响应状态码进行判断,不能默认请求成功。建议通过 statusCode 字段来区分处理逻辑。
代码示例
以下示例展示了如何发起请求并检查状态码,以处理额度不足等异常情况:
// 文档地址 https://docs.hamibot.com/
var res = http.get('https://api.hamibot.com/v1/usage', {
headers: {
authorization: '你的令牌(hmp 开头)'
}
});
if (res.statusCode != 200) {
log('请求失败:' + res.statusCode + ' ' + res.statusMessage);
// 在此处处理额度不足或频率限制的逻辑
} else {
var data = res.body.json();
log('剩余配额:' + data.remaining);
}
最佳实践建议
-
监控配额使用情况:
定期调用GET /v1/usage接口查询剩余配额。该接口会返回limit(配额数量)、remaining(剩余次数)和used(已用次数)。 -
检查响应头:
API 请求返回的 HTTP 标头中会显示当前速率限制状态,建议在请求失败时检查响应头信息以确认是否触发限制。 -
订阅配额:
如果发现配额频繁不足,可以前往控制台查看订阅选项以增加使用次数。相关页面:https://hamibot.com/account/quotas -
令牌管理:
确保请求头中携带正确的个人访问令牌(hmp 开头),令牌可在控制台生成:https://hamibot.com/account/tokens
通过正确处理状态码和监控配额,可以有效避免因额度不足导致的自动化任务中断。
ℹ️ 本回答由 AI 生成,内容仅供参考