Skip to main content
请求

curl --location 'https://openapi.gs-robot.com/v1alpha1/robots?page=1&pageSize=10&relation=contract'
--header 'Authorization: Bearer {{token}}'
输出

{
"robots": [
{
"serialNumber": "SIM00-0000-000-S046",
"name": "robots/SIM00-0000-000-S046",
"displayName": "s-slam-zhuyouji",
"modelFamilyCode": "S",
"modelTypeCode": "Scrubber S1",
"online": false,
"hardwareVersion": "v1.0",
"softwareVersion": "A4-00-0-dailybuild-20250325152409"
},
{
"serialNumber": "SIM00-0000-000-S045",
"name": "robots/SIM00-0000-000-S045",
"displayName": "S45",
"modelFamilyCode": "S",
"modelTypeCode": "S1",
"online": false,
"hardwareVersion": "v1.0",
"softwareVersion": "A4-00-0-dailybuild-20250325152409"
}
],
"page": 1,
"pageSize": 10,
"total": "2"
}

不同版本 AccessKey 的机器人范围差异​

本接口(/v1alpha1/robots)的返回范围只由 relation 参数决定,与换取 token 时使用的 AccessKey 版本无关:

relation 取值返回范围
contract该客户作为合同客户名下的机器人
不传(空)该客户作为终端客户名下的机器人

但 V3 的查询机器人列表(/openapi/v3/robots/page)默认范围由换取 token 时使用的 AccessKey 版本决定:

换取 token 使用的 AccessKeyV3 接口默认返回的机器人范围
V3 版本当前用户直接绑定的机器人
V1 版本该客户作为终端客户名下的机器人

因此同一账号分别用 V1 和 V3 的 AccessKey 换取 token 后调用接口,即使业务参数完全相同,也可能拿到不同的机器人列表。这是两者的授权范围语义不同,不是数据缺失或权限异常。

如果业务依赖「该客户作为终端客户名下的全部机器人」,迁移到 V3 时需注意默认范围已变为当前用户绑定,应先确认好用户与机器人的绑定关系;或继续使用 V1 版本的 AccessKey。