【鸿蒙二开】WPS Open SDK 凭据与 HAR 申请

在鸿蒙应用里接入 WPS Open SDK,文档打开代码通常很快就能写完,但真机联调时经常先卡在注册阶段:HAR 已经集成,页面也能正常编译,调用 sendRequest 却直接抛出异常,或者 registerApp 返回鉴权失败。这类问题的根因通常不在 OpenFileRequest 参数,而在接入凭据、Bundle 包名和 HAR 批次是否匹配。本帖按申请、集成、注册和排错四步整理一条可核对的最短路径。

申请材料写清楚

申请 SDK HAR 与接入凭据时,建议一次性提供以下信息:

  • 应用名称与文档模块用途,例如预览、编辑或关闭回传。

  • 最终安装包的 Bundle 名称,调试包与正式包不同要分别说明。

  • 所需 SDK 交付批次与版本类型。

  • 联系人及回访方式。

  • 当前方案是否需要激活序列号,以及对应的申请渠道。

申请项

用途

渠道

HAR、appKey、appSecret

SDK 集成与应用身份校验

m_open_sdk@wps.cn

激活序列号

按交付约定补齐授权

WPS 商务 / 技术支持

接入凭据与包名绑定。包名变更后需要重新申请;调试包和正式包使用不同包名时,也应分别建立配置。建议在工程内部保存申请回执、包名和 HAR 文件名的对应关系,避免多人协作时混用。

两套材料不要混淆

SDK 接入凭据与激活序列号用途不同。appKey / appSecret 用于 registerApp,校验应用是否有权调用 SDK;激活序列号通过 setWpsFileToken 设置,用于产品侧授权,并且应在注册成功后调用。个人版注册成功后不需要设置序列号,专业版通常需要在回调 ResultCode.OK 后设置。

工程侧不要把 secret 写进页面代码或公开仓库。可以通过构建配置或 CI 注入,日志只记录包名、HAR 文件名和 key 末几位,既能区分环境,也不会暴露完整凭据。

集成 HAR 并完成注册

将 wps_sdk.har 放入 libs 目录,在 oh-package.json5 中添加依赖:

{
  "dependencies": {
    "@wps/wps_sdk": "file:./libs/wps_sdk.har"
  }
}

执行 ohpm install 后,在应用启动或进入文档模块时注册:

import { WPSApi, Result, ResultCode } from '@wps/wps_sdk';

let readyPromise: Promise<void> | null = null;

function ensureRegistered(
  appKey: string,
  appSecret: string,
  activationToken?: string
): Promise<void> {
  if (readyPromise) return readyPromise;

  readyPromise = new Promise<void>((resolve, reject) => {
    WPSApi.registerApp(appKey, appSecret, {
      onCallback: (result: Result): void => {
        if (result.code !== ResultCode.OK) {
          readyPromise = null;
          reject(new Error(`${result.code} ${result.msg}`));
          return;
        }
        if (activationToken) {
          WPSApi.setWpsFileToken(activationToken);
        }
        resolve();
      }
    });
  });

  return readyPromise;
}

打开文档前等待这个 Promise,再构造 OpenFileRequest 并调用 sendRequest。注册未成功时不要发请求,否则通常会直接抛异常。多个入口共享同一个注册状态,可以避免重复注册和并发点击导致的状态混乱。

失败时先看注册阶段

1013 对应 ERROR_CODE_AUTH_FAILURE,常见原因是运行时包名与申请时不符、appKey 或 appSecret 注入错误、HAR 批次不匹配,或者限时凭据已经失效。排查顺序建议是:读取运行时 Bundle 名称,确认当前构建使用的密钥来源,核对 HAR 文件,最后再确认凭据有效期。

注册成功后的打开异常属于另一类问题。先检查文件是否已复制到应用沙箱、enableEdit 是否符合预期,再结合 sendRequest 返回的 result.code 与 result.msg 定位。把注册错误和打开错误分开记录,可以少走很多弯路。

小结与获取 SDK

鸿蒙二开的基础链路可以概括为:申请匹配材料、集成 HAR、注册成功、再打开文档。把包名、凭据和 HAR 三者固定下来,后续编辑、水印、功能开关和关闭回传才有稳定的接入基础。

更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT

申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与专业版/个人版需求)。

技术交流 QQ 群:628436767

湖北省
浏览 37
收藏
1
分享
1 +1
+1
全部评论