【鸿蒙二开】setWpsFileToken 激活序列号要点
HarmonyOS 应用要在端内打开 Word、Excel、PPT,常见路径是集成 WPS Open SDK 鸿蒙统一版:一套 WPSApi 覆盖专业版(ToB)与个人版(ToC)。两边都必须 registerApp 成功才能 sendRequest。ToB 还要在成功回调里 setWpsFileToken;ToC 注册 OK 即可打开,无需序列号。社区联调里最常见的两类现象是:序列号写在 OpenFileRequest.wpsToken 上导致和全局设置打架,以及把 1013 误判成 Token 问题。本文按交流帖口径压缩成要点、最小代码与排查清单。
统一版里序列号解决什么问题
以往痛点 | 统一版约定 |
Token 写在 Request 上 | 成功回调里 setWpsFileToken |
用包名猜要不要 SN | SdkConstants.isPersonalSdk() |
点击打开时才设置 | Ability 启动阶段注入 |
官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT
最小代码
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);
await WPSApi.sendRequest(req);未注册就打开,Promise 是 reject,不是「打开失败」,另开门禁。激活序列号已由 setWpsFileToken 全局设置,无需 request.wpsToken。
对照表
检查 | ToB | ToC |
匹配 HAR | 必须 | 必须 |
registerApp | 必须 | 必须 |
setWpsFileToken | 注册 OK 后设置 | 不需要 |
OpenFileRequest | 同形态 | 同形态 |
能力叠加顺序
注册 OK + 按需注入
只读 / 可编辑打开
水印 / extraOptions
wpsTransferType 关窗回传
回传成功后,必须把 WPS 沙箱 URI 拷贝到本应用沙箱。ToC 不要套 ToB 专属字段,以文档标注为准。
联调清单
冷启动注册 OK
Bundle 与凭据对齐
只读 / 可编辑各验一次
ToB 确认 setWpsFileToken;全仓清理 request.wpsToken
回传落盘
1013 出现时先暂停参数实验
调试包与正式包 Bundle 不同时,申请归档必须分开。路径类型不一致时先拷贝再传入 OpenFileRequest。全仓搜 wpsToken,清掉 Request 上的旧写法。
现象对照
「未注入」当 SDK 缺失:其实是门禁未就绪
「只读也能改」当能力不够:其实默认未设 enableEdit
「回传成功但文件打不开」:URI 未拷贝
「参数在日志里不生效」:用文档标注和日志,不要凭感觉改 UI
能力叠加约定:注册成功 → 按需 Token → 只读打开 → 可编辑 → 水印 / extraOptions → 回传;不要在注册失败时先调水印。发版评审写明责任人与文档链路,避免同事再把 SN 写回 Request。
小结与获取 SDK
统一版交付是一套 API 覆盖双形态,工程纪律才是固定体检项:守住注册门禁、Token 全局化、沙箱路径、回传落盘。出现 1013 时先对齐 Bundle 与申请归档;若注册未到 OK 不要开始打开。发版评审把 HAR 文件名与一次冷启动注册日志写进周期。HAR 升级后先只替换依赖并重跑注册与只读打开,确认身份无回归再恢复高级参数。
更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT
申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与专业版/个人版需求)。
技术交流 QQ 群:628436767