使用Tailscale API查询设备列表遇403错误(user tailnet does not match)求助
解决Tailscale API查询设备列表时的403 "user tailnet does not match"错误
1. 确认正确的tailnet名称
你从DNS标签页获取的内容可能不是有效的tailnet标识符,正确的tailnet名称需从以下位置获取:
- 管理控制台首页:页面顶部显示的
[你的tailnet名称].tailscale.com,直接使用[你的tailnet名称](不要带.tailscale.com后缀) - 管理控制台设置页面:进入“Tailnet设置”,其中的“Tailnet名称”字段即为所需值
2. 验证API密钥的匹配性与权限
- 确保API密钥属于目标tailnet:登录管理控制台,进入设置 > API访问,检查密钥对应的tailnet是否和你要查询的一致
- 密钥需具备
devices:read权限:创建密钥时勾选该权限,或编辑现有密钥添加此权限
3. 正确构造API请求
以查询设备列表的接口为例,请求需满足以下要求:
- URL中的
{tailnet}替换为确认后的正确tailnet名称 - 请求头必须包含
Authorization: Bearer [你的API密钥]
示例curl命令:
curl -u "[你的API密钥]:" "https://api.tailscale.com/api/v2/tailnet/[正确的tailnet名称]/devices"
4. 获取设备在线/离线状态
请求成功后,返回的设备列表中,每个设备对象的online字段(布尔类型)直接标识该设备的在线状态,true为在线,false为离线。
内容的提问来源于stack exchange,提问作者mohamed elsabagh
相关产品推荐
相关产品推荐

