1. 07. 石墨后端 API
石墨文档中台-开发文档
  • 1. 适用范围
  • 00. 概述
    • 石墨文档中台能做什么?
    • 三种典型的业务接入场景
    • 石墨文档中台支持哪些格式?
  • 01. 快速开始
    • 基本概念
    • 场景一:10 分钟创建预览文件
    • 场景二:10 分钟创建协同编辑文件
  • 02. 鉴权与安全
    • 整体概述
    • 签名凭证 Token
    • 签名凭证 Signature
  • 03. 文件预览
    • 整体概述
    • 如何预热预览缓存
    • 如何防盗链
    • 常见问题处理
  • 04. 文件编辑
    • 整体概述
    • 协同文档权限设计
    • 协同文件保存与更新机制
    • 协同文件复制与删除
  • 05. 文件导入导出
    • 整体概述
    • 常见问题处理
  • 06. 石墨前端 API
    • 整体概述
    • 公共 API
      • 公共处理方法
      • 顶部栏定制 HeaderBars
    • 编辑器 API
      • 轻文档
      • 传统文档
      • 表格
      • 幻灯片
      • 表单
      • 应用表格
  • 07. 石墨后端 API
    • 整体概述
    • 错误码说明
    • 文件-预览 API
      • 访问预览文件
      • 创建文件预览缓存
    • 文件-协同编辑文件管理 API
      • 访问协同编辑文件
      • 创建协同文件
      • 创建协同文件副本
      • 删除协同文件
    • 文件-导入导出 API
      • 文件导入
        • 文件导入说明
        • 创建导入任务
        • 获取导入进度
        • 创建导入任务(旧版)
        • 获取导入进度(旧版)
      • 文件导出
        • 文件导出流程
        • 创建导出任务
        • 获取导出进度
    • 文件-表格文件(Excel) API
      • 表格接口参数说明
      • 获取表格内容
      • 获取表格中的评论数
      • 更新表格内容
      • 追加表格内容
      • 删除表格行
      • 新增表格工作表
    • 文件-文稿文件(Word) API
      • 文稿书签说明
      • 读取文稿书签内容
      • 替换文稿书签内容
    • 文件-文档文件(类 Markdown) API
      • 获取文档中的评论列表
    • 文件-应用表格文件(多维表格)API
      • 应用表格列及单元格值结构
      • 应用表格接口调用规则
      • 获取数据表列表
      • 创建数据表
      • 获取字段列表
      • 创建字段
      • 更新字段
      • 删除字段
      • 新增行
      • 获取单行
      • 更新行
      • 删除行
    • 文件-获取额外信息 API
      • 获取文件的纯文本内容
      • 文件纯文本字数统计
      • 获取文件的历史列表
      • 获取文件的版本列表
      • 获取文件内容中所有的 @ 人信息列表
      • 还原文件历史版本
    • 系统管理 API
      • 应用管理
        • 获取应用详情
        • 更新应用回调地址
      • 用户席位管理
        • 用户席位状态说明
        • 获取用户列表和席位状态
        • 激活用户席位​
        • 取消用户席位​
        • 批量设置用户席位
    • 其他 API
      • 上报事件
      • 创建行为历史
      • 推送文件内全部的用户
      • 推送用户全部的 websocket 连接
    • 获取行列表
      GET
  • 08. 回调接口(你的应用需实现的接口)
    • 整体概述
    • 文件信息
      • 文件权限说明
      • [重要] 获取文件元信息-协同文档
      • [重要] 获取文件元信息-预览文档
      • 获取当前用户的文件列表
      • 获取文件的协作者列表
      • 获取接入方指定文件的完整访问地址
      • 获取文件元信息-协同文档自动任务(admin)
      • 根据指定用户获取文件元信息-协同文档(admin)
    • 用户信息
      • 批量获取用户信息(admin)
      • [重要] 获取当前用户信息
      • 获取当前用户所在团队信息
      • 获取指定用户信息
      • 获取用户水印信息
      • 获取用户部门路径
      • 批量获取用户信息
    • 团队和部门
      • 特殊部门 ID 说明
      • 获取团队下的成员列表
      • 获取部门信息
      • 获取部门的下级部门节点
      • 获取部门下的成员分页列表
    • 搜索功能
      • 获取与文件相关的用户列表
      • 获取与文件相关的文件列表
      • 按关键字搜索文件和用户列表
    • 事件推送
      • 整体概述
      • 评论(Comment)
        • 轻文档
          • 添加评论
          • 删除评论
          • 结束评论
          • 对于评论的回复评论
        • 表格
          • 添加评论
          • 删除评论
          • 结束评论
          • 对于评论的回复评论
        • 传统文档
          • 对于评论的回复评论
          • 添加评论
          • 更新评论
          • 删除评论
        • 幻灯片
          • 添加评论
          • 删除评论
          • 结束评论
          • 对于评论的回复评论
        • 应用表格
          • 添加评论
          • 对于评论的回复评论
          • 删除评论
      • 讨论(Discussion)
        • 轻文档
          • 发送讨论消息
      • 提及(MentionAt @ 人)
        • 轻文档
          • 在评论中 at
          • 在讨论中 at
          • 在正文中 at
        • 表格
          • 在评论中 at
          • 在正文中 at
        • 传统文档
          • 在评论中 at
          • 在正文中 at
        • 应用表格
          • 在评论中 at
          • 在正文中 at
      • 日期提醒 (DateMention)
        • 轻文档
          • 创建
          • 修改
          • 删除
        • 表格
          • 创建
          • 修改
          • 删除
        • 传统文档
          • 创建
          • 修改
          • 删除
      • 文件内容更新 (FileContent)
        • 文件内容更新
      • 文档协作者协同状态变化 (Collaborator)
        • 文档协作者协同状态变化
      • 文件版本 (Revision)
        • 版本
      • 系统事件 (System)
        • 系统事件
      • 回调请求错误(实验性)
        • 回调请求错误
  • 09. 核心模型
    • 你的应用如何设计应用(app)模型?
    • 你的应用如何设计文件数据模型?
    • 你的应用如何设计通讯录模型?
    • 你的应用系统如何设计文件权限模型?
  • 10. 典型场景方案
    • 云盘场景
    • IM 场景
    • 示例代码仓库
  • 11. 常见问题
    • 访问接口提示 Signature
    • 文件预览或导入报错
    • 首次接入 SDK 报错
    • 文档预览如何做防盗链
    • 复制粘贴、全屏操作不正常
    • 如何实现文档模板功能
    • 文档内容何时保存
    • 移动端不支持 blob 协议导致预览失败
    • 如何实现文件重命名
    • 如何通过接口修改文档内容
    • @人员时如何直接跳转至对应锚点
  1. 07. 石墨后端 API

错误码说明

石墨文档中台定义了一系列错误码,用于处理对接或使用过程中出现的问题。不同错误码的有不同的含义,这个文档可以帮你快速定位到问题。

如何快速定位错误码#

先确认当前能力属于前端 API、后端 API 还是回调协议。
再按错误码前缀定位区间,按完整错误码定位具体条目。
最后回到对应任务页确认调用顺序和业务处理方式。

错误码区间总览#

前缀区间模块出现链路责任方
1xxxx10001 ~ 10015你的应用回调对接石墨 SDK 服务端日志、回调请求错误事件推送你的应用回调接口
2xxxx20001 ~ 20005应用(App)管理后端 API 响应、控制台控制台/调用方参数
3xxxx30001 ~ 30008账号管理接入账号相关 API 响应调用方参数、账号状态
7xxxx70015 ~ 70020协同文档副本任务后端 API 响应 body 中的 code 字段副本创建任务(可重试或要人工介入)
9xxxx90033 ~ 90052预览 / 文件下载预览任务回执你的应用提供的 downloadUrl、文件本身
12xxxx120016 ~ 120509导入 / 导出导入导出任务回执文件类型、大小、内容限制

错误响应格式#

后端 API(/sdk/v2/...)发生错误时,HTTP 状态码与 code 字段同时返回。Response Body 的最小结构:
{
  "code": 70019,
  "message": "可读的中文错误说明",
  "requestId": "用于在石墨侧定位日志的 ID"
}
你的应用在排查时,建议把下面这些字段同时写进业务日志:
HTTP 状态码(如 200 / 204 / 400 / 401 / 403 / 404 / 500)。
响应 body 中的 code(错误码)和 message(错误说明)。
X-Request-Id / requestId,必要时反馈给石墨服务方做联合排查。
触发本次请求的 fileId、用户 ID、调用接口路径。
回调链路(石墨 → 你的应用)的错误,会通过 回调请求错误 事件推送到你的应用 endpoint_url,结构见后文 回调请求错误事件。

排查清单#

按下面 4 步走,90% 的错误码都能定位:
1.
看错误码前缀,确定是回调(1xxxx)、应用/账号管理(2xxxx/3xxxx)、协同副本任务(7xxxx)、还是预览/导入导出(9xxxx/12xxxx)。
2.
看 HTTP 状态码:4xx 多为请求参数问题,5xx 多为服务端临时故障或下游回调出错。
3.
看出现链路:前端事件、后端 API 响应,还是石墨推送过来的 回调请求错误 事件。
4.
看是否可重试:副本任务、导入导出多为异步任务,部分错误重试有效;签名 / 参数错误重试无效。

需要关注的字段#

许多接口响应中会经常出现这些字段,整理出来字段的含义如下所示:
字段类型出现位置含义
codeintegerAPI 响应 body / 错误事件错误码,按下文表查询
messagestringAPI 响应 body可读错误说明,仅作辅助,不要硬编码做判断
statusinteger/sdk/v2/api/license/users 返回用户席位状态:1=激活,0=禁用,-1=未启用
kindstring回调事件 body事件大类,用于区分推送类型
actionstringcollaboratorChanged 等事件事件动作,例如 enter / leave
clientIdstring协作事件 body协作客户端实例 ID
userIdstring多处出现你的应用用户 ID
fileIdstring多处出现你的应用文件 ID
timestampinteger事件 body事件产生时间

错误码详细表#

1xxxx 你的应用回调对接#

发生在「石墨 → 你的应用回调接口」这条链路。典型表现:石墨服务侧日志报错、前端打开文档时报错;你的应用业务后端可能没有直接日志。
错误码说明常见 HTTP可能原因修复动作是否可重试
10001不合法的 endpoint 地址—App 配置的回调前缀不正确、含非法字符或协议头用更新应用信息接口更新 endpointUrl,确认带 https:// 前缀配置改完即生效,不需重试
10002获取指定文件信息 404你的应用返回 404GET /files/{fileId} 未实现或路径不匹配检查回调路由、fileId 命名规则、租户隔离逻辑修好接口后自动恢复
10003获取当前用户信息 404你的应用返回 404GET /users/current/info 未实现或 token 失效实现接口;用 X-Shimo-Token 还原当前用户修好接口后自动恢复
10004获取指定用户信息 404你的应用返回 404GET /users/{userId} 未实现检查路由和参数命名修好接口后自动恢复
10005获取用户信息列表 404你的应用返回 404批量查询用户接口未实现实现 POST /users/batch 或类似接口修好接口后自动恢复
10006获取协作权限用户列表 404你的应用返回 404协作者列表接口未实现实现 GET /files/{fileId}/collaborators修好接口后自动恢复
10007搜索最近联系人列表 404你的应用返回 404最近联系人接口未实现,@人时报错实现 /search/users/recent修好接口后自动恢复
10008搜索最近使用文件列表 404你的应用返回 404最近文件接口未实现,@文件时报错实现 /search/files/recent修好接口后自动恢复
10009你的应用回调接口出现 HTTP 错误你的应用返回 ≥ 400你的应用接口抛 5xx 或鉴权 4xx看你的应用业务日志,按返回的 HTTP 状态定位修复后自动恢复
10010无效的正常 HTTP 状态码你的应用返回非 200你的应用返回 201/202/3xx 等,被识别为非正常改成 200 返回正常 body修复后自动恢复
10011不是合法的 JSON 数据—你的应用接口返回非 JSON、JSON 字段缺失或类型不对用文件元信息 schema 对照修复修复后自动恢复
10012File 数据不符合预期—缺少必填字段(如 permissions.readable)对照文件模型逐字段补齐修复后自动恢复
10013FileType 数据不符合预期—type 字段不在枚举内参考枚举与类型修复后自动恢复
10014User 数据不符合预期—用户接口缺 id/name,或字段类型不对对照用户与组织模型修复修复后自动恢复
10015请求你的应用回调接口时发生网络错误—DNS 解析失败、连接拒绝、TLS 握手失败检查 endpoint 域名 / 防火墙 / 公网可达;按需提供白名单 IP网络恢复后自动重试
提示
首次接入或迁移环境时 1xxxx 高发,参考 首次接入 SDK 报错应该排查哪些接口 做最小回调集体检。

2xxxx 应用接口#

发生在「调用方 → 石墨控制台/应用 API」这条链路。一般是参数错误或权限不足。
错误码说明常见 HTTP修复动作是否可重试
20001创建应用参数错误400按返回 message 检查 name / endpointUrl / scope 等参数改完参数再重新发起调用
20002创建应用失败500偶现可忽略,重复出现联系石墨技术支持短暂重试
20003更新应用参数错误400按返回 message 检查改完参数再重新发起调用
20004更新应用失败500偶现可忽略,重复出现联系石墨技术支持短暂重试
20005应用不存在404检查 URL 路径里的 appId;确认应用未被删除不可重试,请确认 ID

3xxxx 账号接口#

发生在「调用方 → 接入账号 API」这条链路。
错误码说明常见 HTTP修复动作是否可重试
30001创建接入账号参数错误400按返回 message 检查字段改完参数再重新发起调用
30002创建接入账号失败500偶现可忽略,重复出现联系石墨短暂重试
30003登录参数错误400检查账号、签名结构改完参数再重新发起调用
30004登录验证失败401偶现可忽略,重复出现联系石墨短暂重试
30005生成 Token 失败500偶现可忽略,重复出现联系石墨短暂重试
30006账号密码不匹配401检查账号 / 密码输入;注意首尾空白字符修正后再试
30007修改密码参数错误400按返回 message 检查字段改完参数再重新发起调用
30008修改密码失败500偶现可忽略,重复出现联系石墨短暂重试

7xxxx 协同文档副本任务#

发生在「调用方 → 创建协同文档副本」这条链路。由于副本是异步任务,调用方需要轮询同一个接口拿任务状态。下表里的 code 是接口在 200/400/500 响应 body 中返回的字段。
错误码说明出现 HTTP修复动作是否可重试
70015获取源文件内容遇到错误500检查源文件 fileId 是否仍存在、可读可短暂重试,如持续失败需人工介入
70016目标文件存在但找不到副本任务信息400副本任务记录被清理或未创建;用新的目标 fileId 重新发起不可在原 ID 上重试
70017副本任务执行失败400看石墨侧日志(requestId);常见为源文件损坏或权限丢失排查后用新 ID 重试
70018获取副本任务时遇到错误500偶现可忽略,重复出现联系石墨短暂重试
70019副本任务进行中200这不是错误,是「任务进行中」的提示,按轮询节奏继续请求必须重试,按业务定的间隔轮询
70020未知的副本任务状态500联系石墨技术支持,提供 requestId短暂重试

9xxxx 预览相关#

发生在「预览任务」链路。预览失败时,错误码会附在任务状态查询接口返回的 body 里。
错误码说明修复动作
90033不支持的预览类型文件类型不在支持范围;先用业务系统转码再预览
90035下载源文件失败检查 downloadUrl 是否公网可达、是否返回 200、是否设置 Content-Type
90042文件带密码提示用户解除密码或在业务侧先解密
90050 / 90052文件过大提示用户拆分文件,或联系石墨调整租户配额

12xxxx 导入 / 导出#

错误码说明修复动作
120016文件不支持导入按支持的导入格式校验文件
120502 / 120507单元格数量或单 sheet 行列数超限拆分电子表格再导入
120509文件过大拆分文件或联系石墨调整配额
如果还遇到下表之外的 12xxxx 错误,请把 requestId 提交给石墨技术支持。
修改于 2026-06-22 02:43:30
上一页
整体概述
下一页
访问预览文件
Built with