深色模式
控制台
WebOffice 不会保存接入方的文件,每次新打开的文件都会通过接入方的回调服务获取文件的下载地址。
WebOffice 不托管文件系统,只负责文档的在线预览和编辑。新建文件或者基于模板新建文件的操作均需要您在自己的业务系统内完成。
通过 WebOffice SDK 打开文档时,WebOffice 服务将会根据文档 ID 和版本号定位到唯一的文档对象,所以文档的版本号,每次保存后都需要递增,以匹配一个新的文件实体,完成正常编辑流。
综上所述,在获取文件信息接口中,您必须返回当前文件 ID 最新的版本号,以保证用户打开的文档是最新的版本。而在扩展能力的历史版本接口中,则需要根据文件 ID 和不同的版本号获取到不同版本的文档信息。
一些用户在服务端实现本接口后,发现打开文档后仍然为只读模式。在这里我们特别说明下,对于文档编辑来说,该接口的实现是必要条件,但并不是唯一条件,如果要以编辑模式打开文档,请检查下您是否已完成如下四点:
update
字段为 1,而且返回当前用户的user_id
并不是用户的每次编辑操作都会触发存盘,WebOffice 内部有一套机制专门处理此类情况:
Ctrl + S
、通过 SDK 的save方法,都可以触发一次存盘。出现这种情况可能是您的网络受到了限制,解决方案:
出现该问题是因为系统查询不到您的 APPID,解决方案:
{"errno":10000,"msg":"","reason":"","result":"ApplnfoNotExists"}
出现这种问题可能是由于 token 没有成功传入我们的系统中或者获取方式有误,解决方案:
setToken
方法,以及 setToken
方法传递的参数格式是否正确X-WebOffice-Token
请求头字段request.getHeader("X-WebOffice-Token")
出现这种原因可能是您的回调接口返回的数据有误,解决方案:
users
回调接口是否返回了正确数据,JSON 数据中的 name
和 avatar_url
字段是否正确userid
给业务方 users 接口,进行批量获取用户的信息,对接方需确保该接口返回的所有 userid 的信息由于安全原因,WebOffice 暂未开放导出源文件功能(即下载源文件)。
建议:用户可以自己实现一个后端业务接口,通过 fileId 查询到 download_url,前端拿到 download_url 后通过 window.open 下载源文件。可以在 WebOffice 中添加一个自定义按钮,也可在 WebOffice 外面的业务层自行添加下载按钮。
注意
window.open(download_url) // 用 window.open,不要用 location.href,因为后者会改变当前页面 url,本质上已经离开当前页面了,所以后续 API 和请求都会报错
可以通过以下几种方式,切换文档的只读/编辑权限:
/v3/3rd/files/:file_id/permission
的data.read
为 1
,data.update
为 0
,具体可参考文档用户权限ActiveDocument.SetReadOnly()
将打开的文档临时设置为只读(目前仅文字支持该 JSAPI,其他组件暂不支持),具体可参考SetReadOnly()?readonly
参数注意
上述三种方法中只有通过方法一回调接口返回设置的只读文档,支持返回comment为1时在控制台-文档配置中配置只读可评论权限,具体可参考文档用户权限;后面两种设置只读方法一般适用于前端快速切换只读预览模式,不支持再单独配置评论权限。
问题描述:在移动端使用 WebOffice 时,如果未进行移动端适配,内嵌的 iframe 可能会表现异常,例如:
出现上述问题,您可以在 HTML head 部分添加以下代码即可解决,目的是让页面做移动端适配
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"
/>
打开文档后显示“你的操作权限不足”,“For input string:”接口报“Unavailable”,错误码为 15008
Unavailable 的原因是由于您回调接口GET /v3/3rd/files/:file_id/download
中提供了一个访问超时的 download url,解决方案:请替换成可访问的地址,同时检查下 download url 响应服务器是否存在防火墙等限制。
当您出现文件名为 xxx.docx,但 WebOffice 文档提示当前文档为 TXT 格式,仅能保存文档内容,很有可能是您的文件名后缀和实际文件格式不匹配,因为文件名不代表文件的真实格式,请确认返回的下载地址的文件的实际格式。
当您的文件自动保存是正常的,但是手动 ctrl+s 保存显示内部错误,错误码 10000,显示的数据无异常
出现该问题的原因可能是文件编辑回调接口没有按照要求返回数据,比如字段类型不一致,或者字段名不一致。
返回的文件信息数据要求请参考下表:
字段 | 必须 | 类型 | 说明 |
---|---|---|---|
id | 是 | string | 文档 ID,必须与传入的file_id一致 |
name | 是 | string | 文档名称 |
version | 是 | integer | 文档版本号,从 1 开始,每次保存后递增 |
size | 是 | integer | 文档大小,单位 byte |
create_time | 是 | integer | 文档创建时间戳,单位纪元秒 |
modify_time | 是 | integer | 文档最后修改时间戳,单位纪元秒 |
creator_id | 是 | string | 文档创建者 Id |
modifier_id | 是 | string | 文档最后修改者 Id |