图片转word地址:https://solution.wps.cn/api/developer/v1/office/img/convert/to/docx
不是刚开始对接,早就对接好了,动用了几个月都没问题,突然几个环境都不行了,报相同的错,通过社区用poastman也不行
本地时间代码:
postman调试:
图片转word地址:https://solution.wps.cn/api/developer/v1/office/img/convert/to/docx
不是刚开始对接,早就对接好了,动用了几个月都没问题,突然几个环境都不行了,报相同的错,通过社区用poastman也不行
本地时间代码:
postman调试:
GMT 格林尼治时间,比如我们是东八区, {"code":30003,"hint":"not a valid datetime or too skewed. Date: Fri, 12 Jul 2024 10:03:22 GMT","extra":"","message":"InvalidSignature"}。 实际应该是 Date: Fri, 12 Jul 2024 02:03:22 GMT
详细看下这个问题,基本全都可以解决:https://solution-community.wps.cn/questions/10010000000003634/10020000000003646
这里已经明确说明了,详细查看这个问题讨论,java开发者遇到的签名问题,都可以解决
按你们给的脚本postman调试也不行
下面的XXX是开放平台申请的; let access_key = "XXX" let secret_key = "XXX"
wps2(pm.request, access_key, secret_key)
function wps2(request, ak, sk) { let content_type = "application/json"
let date = (new Date()).toUTCString()
let content_md5 = request.body.raw
? CryptoJS.MD5(request.body.raw).toString()
: CryptoJS.MD5(request.url.getPathWithQuery()).toString()
let signature = CryptoJS.SHA1(sk+content_md5+content_type+date).toString()
let authorzation = `WPS-2:${ak}:${signature}`
console.log('date',date);
console.log('content_md5',content_md5);
console.log('signature',signature);
console.log('authorzation',authorzation);
// setup variable
pm.request.headers.add({
key: 'Date',
value: date
});
pm.request.headers.add({
key: 'Content-Type',
value: content_type
});
pm.request.headers.add({
key: 'Content-MD5',
value: content_md5
});
pm.request.headers.add({
key: 'Authorization',
value: authorzation
});
}
你这content-type 不对吧 ,你header里设置的是application/json 用的是form-data
不好意思,搞错了,postman可以了,但是我代码还是有问题,我看时间也是当前时间往前推了8个小时,报错为{"code":30003,"hint":"signature not match. expect: 5c5c91184ef4c857dd271ef20f84d6cff37d8ee0, actual: 5f708b86e1e58ccf1ac2c98cf5cc687720f077f6","extra":"","message":"InvalidSignature"}
可以了,但是我之前一直用的application/json都是可以的,而且你这开放平台接口文档也是这么写的啊
文档写的没问题呢,weboffice getHeader('content-type')拿到什么就计算什么。你的代码传的是application/json,实际上java框架http模块发送,自动加了charset,导致您没了解框架内部运行原理,您计算用的application/json