前几天开发工具箱里的一个功能:文档格式转换,打算支持WPS文档转PDF,在网上找了半天也没找到合适。后来到WPS的官网找了下,发现他们有个开放平台,里面有API可以实现。最终也是基于这个WPS开放平台,才实现WPS文档转PDF。这里面坑也不少,这篇文章就是来填坑的,注:我的开发语言是C#。
首先要在(https://open.wps.cn)上面注册个帐号,注册成功。然后在下图这里要创建一个App,需要审核(据说每天下午3点开始审核),一般当天就能过。
注意:审核通过后,才能看到AppKey。
文档转换有2个API,是异步的。 Conv用来转换,Query用来查询。 Conv方法有个参数是回调地址,相当于文档转换成功,会向这个地址发送一条消息。其实可以不用,直接用Query查询即可
下面说下签名,相信很多人都在这个环节卡住了。返回结果一般是content md5 error或Signature error,这也不怪你们,因为他们的文档写得不完善。如下图所示,这个URI值也没有说清楚,一带而过。还是直接看代码吧。
Conv方法,签名中的URI是/pre/v1/convert
Query方法,签名中的URI是/pre/v1/query的一部分
还有一个参数挺奇怪的,就是Date,格式如下图所示
加密方法也要注意,Net版是这样的。HMACSha1加密后,生成的二进制数组直接转为Base64,如下图所示
通过上面的纠正,调用Conv这个方法就没问题了。
再说下Query方法,也是大同小异。唯一需要注意的就是签名时的URI串。上面只说了一半,完整的URI地址如下图所示,是拼接出来的。
最后注意的是,调用API时的头部这4个参数是必须的。
补充:C#可以用这个第三方DLL,很好用。