一直无法配对 网连接一直正常 没有任何提示 请问怎么办

伊恩维 · 2 天前
第 1 条补充
·
2 天前

https://api.hamibot.com 打不开 显示unauthorized 怎么办 另外 控制台扫码配对在哪里 找不到

第 2 条补充
·
2 天前

如何在 API 请求头中添加 Authorization 字段

回答

Hamibot AI
1
· 2 天前

配对问题常见于几个关键环节,我来给你具体排查步骤:

  1. 确认配对流程是否完整

    • 在Hamibot控制台点击「添加设备」后,必须准确记下生成的6位配对码
    • 打开手机Hamibot APP,在「设备管理」中选择「添加设备」并输入完全一致的配对码
    • 配对码区分大小写且有时效性(5分钟内有效)
  2. 网络环境检查

    • 确保手机和电脑/服务器在同一局域网下(比如都连接同一个WiFi)
    • 关闭手机上的VPN、代理或防火墙软件
    • 尝试用手机浏览器访问 https://api.hamibot.com 确认能打开
  3. 应用状态重置

    • 完全退出Hamibot APP(包括后台进程)
    • 清除APP缓存:设置→应用管理→Hamibot→存储→清除缓存
    • 重启手机后再试
  4. 替代方案

    • 如果仍无反应,改用扫码配对:控制台选择「扫码配对」,用手机APP扫描二维码
    • 检查APP版本是否最新(旧版本存在配对兼容性问题)

如果以上步骤都无效,大概率是设备系统限制问题。请提供:

  • 手机品牌和Android版本
  • Hamibot APP版本号(在设置→关于中查看)
  • 是否出现过"已配对"但控制台不显示的情况

这些信息能帮助我们定位具体原因。你也可以尝试在Hamibot社区搜索对应机型的配对方案,很多厂商(如小米、华为)需要额外开启「后台弹出界面」权限。


补充回答 1

关于你提到的问题,我来具体说明:

API 返回 unauthorized 的问题

这是正常现象,不是网站打不开。https://api.hamibot.com 是 Hamibot 的 API 接口地址,不能直接在浏览器中打开访问,因为所有 API 请求都需要身份验证。

当你在浏览器中直接访问时显示 "unauthorized"(401错误),是因为缺少必要的认证信息。正确使用方式是:

  1. 在控制台生成个人访问令牌(hmp_开头的字符串)
  2. 在 API 请求头中添加 Authorization 字段,例如:
http.request('https://api.hamibot.com/v1/devices', {
  headers: {
    authorization: '你的令牌(hmp_开头)'
  }
});

如果你需要访问控制台界面,请使用:https://hamibot.cn/dashboard/

控制台扫码配对位置

扫码配对功能在控制台的设备管理页面:

  1. 登录 Hamibot 控制台:https://hamibot.cn/dashboard/
  2. 在左侧菜单找到并点击「设备」
  3. 在设备管理页面,点击右上角的「添加设备」按钮
  4. 选择「扫码配对」选项(在输入6位配对码的旁边)

如果看不到这个选项,请检查:

  • 是否使用最新版浏览器(推荐 Chrome)
  • 是否已登录账号
  • 页面是否完全加载(可能需要清除浏览器缓存)

如果仍然找不到,可以尝试直接访问设备管理页面:https://hamibot.cn/dashboard/devices

这是标准路径,所有账号都应该能看到这个功能。如果确实没有显示,可能是账号权限问题,建议联系 support@hamibot.cn 提供你的账号信息进行核实。


补充回答 2

要正确在API请求头中添加Authorization字段,请按以下步骤操作:

获取访问令牌

  1. 登录Hamibot控制台(https://hamibot.cn/dashboard/)
  2. 点击右上角头像 → 个人设置 → API访问
  3. 点击「新建令牌」生成hmp_开头的访问令牌(示例:hmp_abcdef123456)

JavaScript实现方式

文档地址 https://docs.hamibot.com/

// 注意:使用Rhino引擎,不支持ES6+语法
var token = "hmp_你的实际令牌"; // 替换为你的令牌

// GET请求示例
var getRes = http.request('https://api.hamibot.com/v1/devices', {
  method: 'GET',
  headers: {
    authorization: token
  }
});
log("设备列表:", getRes.body.json());

// POST请求示例(创建脚本)
var postData = JSON.stringify({ name: "新脚本" });
var postRes = http.request('https://api.hamibot.com/v1/devscripts', {
  method: 'POST',
  headers: {
    authorization: token,
    'Content-Type': 'application/json'
  },
  body: postData
});
log("创建结果:", postRes.body.json());

cURL命令实现

# GET请求
curl -H "Authorization: hmp_你的实际令牌" \
https://api.hamibot.com/v1/devices

# POST请求(创建脚本)
curl -X POST \
-H "Authorization: hmp_你的实际令牌" \
-H "Content-Type: application/json" \
-d '{"name": "新脚本"}' \
https://api.hamibot.com/v1/devscripts

关键注意事项

  1. 令牌格式:必须是hmp_开头的完整字符串(共40字符),不能遗漏任何字符
  2. 大小写敏感:header字段名Authorization首字母大写,值部分区分大小写
  3. 安全警告
    • 永远不要将令牌提交到GitHub等公开平台
    • 不要硬编码在可共享的脚本中(应通过环境变量传递)
    • 泄露后立即在控制台「作废」旧令牌
  4. 常见错误
    • 错误:Authorization: Bearer hmp_xxx(不需要Bearer前缀)
    • 错误:authorization: "hmp_xxx"(引号会导致验证失败)
    • 错误:使用已过期的令牌(令牌长期不使用会自动失效)

如果返回401错误,请检查:

  • 令牌是否复制完整(40字符)
  • 是否包含多余的空格
  • 令牌是否已被作废
  • 请求域名是否正确(必须是api.hamibot.com

建议先用cURL测试基础连接,确认令牌有效后再集成到代码中。

ℹ️ 本回答由 AI 生成,内容仅供参考