【鸿蒙二开】WPS Open SDK 统一版能力概览
HarmonyOS 应用要在端内打开 Word、Excel、PPT,常见路径是集成 WPS Open SDK 鸿蒙统一版:一套 WPSApi 接口覆盖专业版(ToB)与个人版(ToC)WPS 客户端,开发侧不再维护两套 API。统一版在保持 ToB 水印、不落地、关闭回传等能力的同时,新增 ToC 打开支持——注册成功即可打开,无需激活序列号。对社区同学而言,概述阶段最重要的是记住调用链顺序与 ToB/ToC 差异点,而不是一次堆满所有参数。本文按交流帖口径压缩成能力概览、最小代码与联调清单,方便对照官方文档快速上手,也便于发版评审时勾选必测项。
统一版解决什么问题
以往痛点 | 统一版方案 |
接口与文档可能分裂 | 同一套 WPSApi + OpenFileRequest |
接入假设复杂 | ToC 路径更轻;ToB 文档分场景说明 |
业务页重复造轮子 | 注册、打开、回传可封装成 helper |
官方文档:https://365.kdocs.cn/l/clQl5cek2NoT
主调用链(一张表记牢)
步骤 | ToB | ToC |
集成 HAR | 必须 | 必须 |
registerApp | 必须 | 必须 |
setWpsFileToken | 注册 OK 后设置 | 不需要 |
OpenFileRequest | 同类型 | 同类型 |
部分策略字段 | 按文档生效 | 部分无效 |
最小代码
import { WPSApi, ResultCode, SdkConstants } from '@wps/wps_sdk';
WPSApi.registerApp(APP_KEY, APP_SECRET, {
onCallback: (r) => {
if (r.code !== ResultCode.OK) {
console.error(r.code, r.msg);
return;
}
if (!SdkConstants.isPersonalSdk()) {
WPSApi.setWpsFileToken(PRO_SN);
}
// ready 后再 sendRequest
},
});打开侧:
const req = new OpenFileRequest(ctx, sandboxPath);
req.enableEdit = true; // 需要编辑时显式设置
await WPSApi.sendRequest(req);未注册成功就打开会抛异常——和「打开返回非 OK」分开记日志。系统选择器路径先拷贝到应用沙箱。
能力分层(别一次堆满)
注册 OK + 只读打开
enableEdit = true 可编辑
水印 / extraOptions
wpsTransferType 关窗回传
回传开启时,必须把 WPS 沙箱 URI 拷贝到本应用再入库。ToC 下部分 ToB 专属字段设置无效,以文档标注为准。
联调别漏
冷启动注册 OK
Bundle 与凭据同源
只读 / 可编辑各验一次
ToB 确认 setWpsFileToken;全仓清 request.wpsToken
回传落盘
1013 先对身份再改参数
调试包与正式包 Bundle 不同,申请材料分开归档。限时凭据过期走官方渠道续期。路径类问题请同时附拷贝前后 URI,确认 OpenFileRequest 收到应用可访问路径。全仓搜索 wpsToken,清掉 Request 上的旧写法。能力叠加顺序建议:注册成功 → 只读打开 → 可编辑 → 水印 / extraOptions → 回传;不要在注册失败时优先调高级参数。常见误判:把「客户端未安装对应 WPS」当成 SDK 坏了;把「默认只读」当成不能编辑;把「回传临时 URI 未拷贝」当成打开失败;把「参数在当前交付不生效」当成开关 Bug——用文档参数表和日志分流即可拆开。
提问与小结
提问请带:Bundle、HAR 交付日、ToB/ToC、registerApp code/msg、sendRequest 结果或异常、是否已 Token。邮箱:m_open_sdk@wps.cn。完整 secret 不要发群里。材料齐了再进交流渠道,比只说「打不开」高效。
统一版价值是一套 API 双端覆盖;工程上要守住注册门禁、Token 全局化、沙箱路径、回传落盘。把清单贴进评审,比发版后追日志便宜。社区里遇到 1013,优先对齐 Bundle 与申请材料;能注册不能打开时先查就绪态与路径。下周加深水印或回传,仍应建立在稳定 ResultCode.OK 之上。
官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT
技术支持邮箱:m_open_sdk@wps.cn
技术交流 QQ 群:628436767