外观
Share 错误码(174*)
段位:174001 - 174999;当前 34 个。本页覆盖三组:
- 公开分享消费侧(
/public/s/{tenantCode}/{token}/...的meta/verify/list/download):174001 / 174008-174011 / 174013-174014- 分享链接管理(V1
/v1/share-links/*:创建 / 撤销 / 查看 / 分页):174005-174007 / 174031-174038- 站内分享管理(V1
/v1/share-grants/*:授出 / 更新 / 撤销 / 查看 / 收发分页):174015-174030通用约定(HTTP status /
code=1兜底 / 响应结构)见 README
174001 SHARE_LINK_UNAVAILABLE
- HTTP status:200
- 含义:公开分享链接不可用
- 典型触发条件:访问
/public/s/{tenantCode}/{token}/...链路(meta/verify/list/download)时,链接处于不可用状态。出于安全考虑,本码不区分链接失效的具体原因,集成方在消费侧也无需区分原因。 - 处理建议:引导用户重新获取分享链接;或联系分享方确认链接是否仍然有效。不要尝试通过反复访问推断具体失效原因——服务端不会以可枚举的方式区分。
- 示例响应:
json
{ "code": 174001, "msg": "分享链接不可用", "data": null }174005 SHARE_RESOURCE_NOT_FOUND
- HTTP status:200
- 含义:分享资源不存在
- 典型触发条件:调用
POST /v1/share-links/save创建分享链接时,目标资源(docId / containerId)不存在或已被删除 - 处理建议:先确认资源存在再创建分享;资源进入 TRASHED 状态后也可能触发此码——恢复资源后重试;详见 分享模式篇
- 示例响应:
json
{ "code": 174005, "msg": "分享资源不存在", "data": null }174006 SHARE_RESOURCE_TYPE_UNSUPPORTED
- HTTP status:200
- 含义:分享资源类型不支持
- 典型触发条件:创建 ShareLink 或 ShareGrant 时
resourceType不在支持的枚举内(支持DOCUMENT/VERSION/CONTAINER) - 处理建议:核对
resourceType枚举值;ShareLink 与 ShareGrant 支持的资源类型可能不完全一致,创建前先查阅 分享模式篇 - 示例响应:
json
{ "code": 174006, "msg": "分享资源类型不支持", "data": null }174007 SHARE_TOKEN_GENERATION_FAILED
- HTTP status:200
- 含义:分享 token 生成失败
- 典型触发条件:服务端生成 ShareLink token 时遇到内部异常——正常调用极少触发
- 处理建议:重试请求;若反复失败,携带响应中的
rid/X-Request-Id联系 ATKONBASE 支持团队;不应自行重试超过 3 次 - 示例响应:
json
{ "code": 174007, "msg": "分享 token 生成失败", "data": null }174008 SHARE_LINK_QUOTA_EXCEEDED
- HTTP status:200
- 含义:公开分享链接访问次数超出
maxAccessCount - 典型触发条件:创建 ShareLink 时设置了
maxAccessCount,公开消费侧实际访问次数累计超过上限后再次访问/public/s/.../download - 处理建议:联系分享方重新创建链接(或不设次数上限);消费侧无法自行恢复
- 示例响应:
json
{ "code": 174008, "msg": "分享链接访问次数超限", "data": null }174009 PASSWORD_REQUIRED
- HTTP status:200
- 含义:公开分享链接需要密码但未携带
- 典型触发条件:访问已设置密码的 ShareLink(消费侧
ShareLinkResultDTO.requiresPassword=true)时,未先调用/verify端点完成密码验证 - 处理建议:先调用
POST /public/s/{tenantCode}/{token}/verify提交密码,验证通过后再继续后续meta/list/download调用 - 示例响应:
json
{ "code": 174009, "msg": "需要密码", "data": null }174010 PASSWORD_INVALID
- HTTP status:200
- 含义:公开分享链接密码错误
- 典型触发条件:调用
/public/s/{tenantCode}/{token}/verify提交的password与服务端记录不匹配 - 处理建议:在前端弹出密码输入框,提示用户重输;服务端未提供"剩余尝试次数"语义,但实际密码错误次数可能触发风控或链接锁定
- 示例响应:
json
{ "code": 174010, "msg": "密码错误", "data": null }174011 PASSWORD_NOT_REQUIRED
- HTTP status:200
- 含义:公开分享链接未设密码却被传入了密码
- 典型触发条件:链接
requiresPassword=false,集成方仍调用了/verify端点 - 处理建议:消费侧调用
/verify前先GET /public/s/{tenantCode}/{token}读requiresPassword字段——仅在true时展示密码输入框并调/verify - 示例响应:
json
{ "code": 174011, "msg": "无需密码", "data": null }174013 IP_NOT_ALLOWED
- HTTP status:200
- 含义:访问方 IP 不在公开分享链接允许列表内
- 典型触发条件:链接创建时配置了 IP 白名单,访问方真实 IP 不匹配
- 处理建议:联系分享方核对 IP 白名单配置;消费侧无法自行绕过
- 示例响应:
json
{ "code": 174013, "msg": "IP 不允许访问", "data": null }174014 SHARE_LINK_PATH_INVALID
- HTTP status:200
- 含义:CONTAINER 公开分享
path参数无效 - 典型触发条件:访问 CONTAINER 类型 ShareLink 的
/list或/download端点时,传入的path缺失、段不在被分享子树内、或对应资源已不存在 / 非 ACTIVE。path错误是调用方可自行纠正的参数问题,故与SHARE_LINK_UNAVAILABLE分为独立错误码 - 处理建议:先调用
GET /public/s/{tenantCode}/{token}/list获取合法的子路径列表,再按返回的path调用/download - 示例响应:
json
{ "code": 174014, "msg": "分享链接路径无效", "data": null }站内分享管理(174015 - 174030)
经 V1
/v1/share-grants/*暴露:把容器 / 文档分享给租户内的用户 / 角色 / 部门(授出save、更新update、撤销delete、查看getDetail、收发分页getOutgoingPage/getIncomingPage)。需在委派用户身份的会话下调用。
174015 SHARE_GRANT_NOT_FOUND
- HTTP status:200
- 含义:站内分享不存在
- 典型触发条件:按
shareGrantId解析失败(不存在或不可见) - 处理建议:核对
shareGrantId;可先查收 / 发分页确认 - 示例响应:
json
{ "code": 174015, "msg": "站内分享不存在", "data": null }174016 SHARE_GRANT_NOT_FOUND_OR_REVOKED
- HTTP status:200
- 含义:站内分享不存在或已撤销
- 典型触发条件:
update前置校验时目标分享不存在或已被撤销 - 处理建议:确认分享仍有效;已撤销的分享需重新授出
- 示例响应:
json
{ "code": 174016, "msg": "站内分享不存在或已撤销", "data": null }174017 SHARE_GRANT_ALREADY_REVOKED
- HTTP status:200
- 含义:站内分享已撤销
- 典型触发条件:对已撤销的分享重复撤销
- 处理建议:无需重复撤销
- 示例响应:
json
{ "code": 174017, "msg": "站内分享已撤销", "data": null }174018 SHARE_GRANT_UPDATE_FORBIDDEN
- HTTP status:200
- 含义:无权修改他人创建的站内分享
- 典型触发条件:修改非本人创建的分享
- 处理建议:仅可修改自己授出的分享
- 示例响应:
json
{ "code": 174018, "msg": "无权修改该站内分享", "data": null }174019 SHARE_GRANT_REVOKE_FORBIDDEN
- HTTP status:200
- 含义:无权撤销他人创建的站内分享
- 典型触发条件:撤销非本人创建的分享
- 处理建议:仅可撤销自己授出的分享
- 示例响应:
json
{ "code": 174019, "msg": "无权撤销该站内分享", "data": null }174020 SHARE_GRANT_VIEW_FORBIDDEN
- HTTP status:200
- 含义:无权查看此站内分享
- 典型触发条件:查看与自己无关(既非授出方也非接收方)的分享
- 处理建议:仅可查看自己授出或收到的分享
- 示例响应:
json
{ "code": 174020, "msg": "无权查看该站内分享", "data": null }174021 SHARE_GRANT_NOT_OWNED_FOR_OVERWRITE
- HTTP status:200
- 含义:接收方已有他人创建的活跃分享,无法覆盖
- 典型触发条件:对同一接收方 upsert,但该接收方已有由他人创建的活跃分享
- 处理建议:由原授出方调整,或与管理员协调;不能覆盖他人的分享
- 示例响应:
json
{ "code": 174021, "msg": "已有他人创建的分享,无法覆盖", "data": null }174022 SHARE_GRANT_RESOURCE_TYPE_UNSUPPORTED
- HTTP status:200
- 含义:站内分享仅支持容器 / 文档
- 典型触发条件:分享的
resourceType非CONTAINER/DOCUMENT - 处理建议:站内分享仅支持
CONTAINER/DOCUMENT - 示例响应:
json
{ "code": 174022, "msg": "站内分享仅支持容器 / 文档", "data": null }174023 SHARE_GRANT_PRESET_REQUIRED
- HTTP status:200
- 含义:
permissionPreset不能为空 - 典型触发条件:授出分享时未提供权限预设
- 处理建议:提供
permissionPreset(权限预设) - 示例响应:
json
{ "code": 174023, "msg": "权限预设不能为空", "data": null }174024 SHARE_GRANT_GRANTEE_REQUIRED
- HTTP status:200
- 含义:
grantee不能为空 - 典型触发条件:未提供接收方,或缺少
granteeType/granteeId - 处理建议:提供完整的接收方(
granteeType+granteeId) - 示例响应:
json
{ "code": 174024, "msg": "接收方不能为空", "data": null }174025 SHARE_GRANTEE_NOT_FOUND
- HTTP status:200
- 含义:分享接收方不存在
- 典型触发条件:接收方(用户 / 角色 / 部门)不存在于当前租户
- 处理建议:核对接收方标识与类型确实存在于本租户
- 示例响应:
json
{ "code": 174025, "msg": "分享接收方不存在", "data": null }174026 SHARE_GRANT_MANUAL_ACL_CONFLICT
- HTTP status:200
- 含义:已有手动 ACL 授权,无法分享
- 典型触发条件:接收方已有针对该资源的手动 ACL 授权,与分享冲突
- 处理建议:先移除现有手动 ACL,或由管理员协调后再分享
- 示例响应:
json
{ "code": 174026, "msg": "已有手动 ACL 授权,无法分享", "data": null }174027 SHARE_GRANT_ALREADY_ACTIVE
- HTTP status:200
- 含义:接收方已有活跃分享
- 典型触发条件:对已有活跃分享的接收方再次授出
- 处理建议:直接更新现有分享,而非重复授出
- 示例响应:
json
{ "code": 174027, "msg": "接收方已有活跃分享,请直接更新", "data": null }174028 SHARE_EXPIRES_AT_IN_PAST
- HTTP status:200
- 含义:过期时间不能早于当前时间
- 典型触发条件:分享
expiresAt设为过去的时间 - 处理建议:设置一个晚于当前时间的过期时间,或不设以表示长期有效
- 示例响应:
json
{ "code": 174028, "msg": "过期时间不能早于当前时间", "data": null }174029 SHARE_EXPIRES_AT_EXCEEDS_MAX
- HTTP status:200
- 含义:过期时间超过允许的最大 TTL
- 典型触发条件:分享
expiresAt超过允许的最大 TTL 天数 - 处理建议:将过期时间控制在允许的最大 TTL 内
- 示例响应:
json
{ "code": 174029, "msg": "过期时间超过允许上限", "data": null }174030 SHARE_CURRENT_USER_UNRESOLVED
- HTTP status:200
- 含义:无法解析当前登录用户身份
- 典型触发条件:授出 / 撤销站内分享时会话缺用户身份(仅客户端凭证、未委派用户)
- 处理建议:在委派用户身份的会话下调用(下发用户 token 或 act-as 委派头)
- 示例响应:
json
{ "code": 174030, "msg": "无法解析当前登录身份", "data": null }分享链接管理(174031 - 174038)
经 V1
/v1/share-links/*暴露:创建(save)、撤销(delete)、查看(getDetail)、分页(getPage)公开分享链接。链接的匿名消费侧错误码见本页前半部分(174001 / 174008-174014)。
174031 SHARE_LINK_NOT_FOUND
- HTTP status:200
- 含义:分享链接不存在
- 典型触发条件:按
shareLinkId解析失败 - 处理建议:核对
shareLinkId;可先分页查询确认 - 示例响应:
json
{ "code": 174031, "msg": "分享链接不存在", "data": null }174032 SHARE_LINK_ALREADY_REVOKED
- HTTP status:200
- 含义:分享链接已撤销
- 典型触发条件:对已撤销的链接重复撤销
- 处理建议:无需重复撤销
- 示例响应:
json
{ "code": 174032, "msg": "分享链接已撤销", "data": null }174033 SHARE_LINK_REVOKE_FORBIDDEN
- HTTP status:200
- 含义:无权撤销此分享链接
- 典型触发条件:撤销非本人有权管理的链接
- 处理建议:仅可撤销自己有权管理的链接
- 示例响应:
json
{ "code": 174033, "msg": "无权撤销该分享链接", "data": null }174034 SHARE_LINK_VIEW_FORBIDDEN
- HTTP status:200
- 含义:无权查看此分享链接
- 典型触发条件:查看非本人有权管理的链接详情
- 处理建议:仅可查看自己有权管理的链接
- 示例响应:
json
{ "code": 174034, "msg": "无权查看该分享链接", "data": null }174035 SHARE_LINK_MAX_ACCESS_COUNT_INVALID
- HTTP status:200
- 含义:
maxAccessCount必须为正整数 - 典型触发条件:创建链接时
maxAccessCount非正整数 - 处理建议:
maxAccessCount取正整数;不限次数则不设该字段 - 示例响应:
json
{ "code": 174035, "msg": "maxAccessCount 必须为正整数", "data": null }174036 SHARE_LINK_PERMISSION_BITS_INVALID
- HTTP status:200
- 含义:
permissionBits取值非法 - 典型触发条件:
permissionBits不是READ(1)/DOWNLOAD(2)/READ|DOWNLOAD(3)之一 - 处理建议:
permissionBits仅取 1 / 2 / 3 - 示例响应:
json
{ "code": 174036, "msg": "permissionBits 取值非法", "data": null }174037 SHARE_LINK_CONTAINER_READ_REQUIRED
- HTTP status:200
- 含义:容器分享
permissionBits必须含 READ - 典型触发条件:分享容器时
permissionBits未包含READ(1) - 处理建议:容器分享须含
READ(1)(可叠加DOWNLOAD) - 示例响应:
json
{ "code": 174037, "msg": "容器分享必须包含 READ 权限", "data": null }174038 SHARE_LINK_CIDR_INVALID
- HTTP status:200
- 含义:
allowedIps含无效 CIDR - 典型触发条件:IP 白名单
allowedIps中含格式非法的 CIDR - 处理建议:使用合法的 CIDR 表示(如
203.0.113.0/24) - 示例响应:
json
{ "code": 174038, "msg": "allowedIps 含无效 CIDR", "data": null }