接口参考

权限

每个接口需要什么权限、默认给了哪些、怎么申请与怎么被收回。

最后更新

权限决定一个已授权的站点具体能做什么。它由用户在控制台上批准,网页只能申请、 不能自授。

默认授予

配对时默认给这四项:

权限允许的调用
printer.read打印机列表 / 能力 / 状态 / 健康告警
profile.read查询配置档
job.print静默打印(真实副作用)
job.preview预览(出纸前有用户确认)

大多数业务系统到这里就够了。

完整列表

权限允许的调用风险
printer.read打印机列表 / 能力 / 状态 / 健康告警低
printer.settings打开系统打印机设置低
profile.read查询配置档低
profile.write创建 / 修改 / 删除配置档中
job.print静默打印(真实出纸)高
job.preview预览低
job.read查询任务低
job.cancel取消任务中
device.read / device.print直连设备的查询与打印高
scanner.read扫描仪列表 / 能力 / 状态中
scan.run发起扫描、读作业、下载成品高

scanner.read 与 scan.run 不在默认范围,每次扫描还要在电脑上确认, 见扫描。

申请更多权限

在配对的同一次调用里申请,用户会在确认框里看到完整清单:

await client.ensureAuthorized(['job.read', 'job.cancel']);
// 或显式配对:
await client.pair(['printer.read', 'job.print', 'job.read']);

如果已经授权过,authStatus() 能查到当前拥有哪些权限:

const status = await client.authStatus();
console.log(status.permissions);

界面应当只申请真正用得到的权限——清单越长,用户越难判断该不该点同意。

缺权限的表现

调用超出权限时得到 PERMISSION_DENIED。这是可解释、可恢复的状态: 提示用户到控制台「安全与站点」为该站点勾上对应权限即可,不要引导用户 「把安全设置关掉」。

权限会被收回

用户可以在控制台随时调整权限、撤销令牌或移除站点。撤销后:

  • 已建立的连接会被断开(撤销令牌时);
  • 后续调用重新走配对流程。

因此不要把「已授权」当作永久状态:捕获 TOKEN_INVALID、PAIRING_REQUIRED 并重新走 ensureAuthorized(),而不是让页面卡死在错误上。

相关页面

本页目录