用户中心
所有文章
组织操作手册
人事操作手册
入职操作手册
假勤操作手册
薪酬操作手册
绩效操作手册
团队管理操作手册
员工自助操作手册
账号权限操作手册
审批流配置操作手册
生态(IM)操作手册
常见问题
升级公告
如何解决 OpenAPI 调用签名失败
最后更新于 2023/07/10   阅读数 100
{
    "code": 200002,
    "msg": "正确的 sign = aJoFweTV9BCfVrIXCZ/MzKO+2fNTTWTMMOEEuVU6za44p+L0n+pL+CLeFJtRCkzpfIrzIB0S0/BY4iOiXnWVMEoJnRm30xZlE3yDofzHXKvJ+I1iQkIW7XhiJMRp5BLwue9qjwlOEcVAbhoQAG7N5HOJB65TIAMb+Gu0H6NneLo= , 但是您的 sign =  K0G+oqkqT5pQmSdCkxLiT2hMQI7Ir8drDcReaOk3x9ZHOTDDI5P++nGAZXLUdN0EY98Og2UO+Y5bjnLEsSR657K86iAw4vAkge95NCH/ZnrhsLh/3BPu7IihNWsT1dmDLiH4yHlfRobOaz/Ve4YJeN5Rw/4/Xa8DDgQTXJUm5eA=。需要被加密的 string 是 =  apiCode=2bc207586a1d5801dafe16580053e3d9&entCode=5c1b8165cedfaba1a83136c1fb3c1b45&nonce=9poe8b0v&timestamp=1663756978879&userName=cherryok@126.com",
    "data": {}
}
1
2
3
4
5
json

解决方案:

  1. 检查签名的字符拼接顺序是否正确?检查参数值是否正确?

示例(无 username 参数):

apiCode=0001&entCode=1&nonce=999&timestamp=1565244098737

示例(有 username 参数):

apiCode=0001&entCode=1&nonce=999&timestamp=1565244098737&userName=xiao@qq.com

  1. 检查 sign 是否进行了 URLEncode 编码处理?如做了处理 sign 中的+ 将转换为格式%**

示例:eqNyKRZA1uOdKx02RIF%2B4BaIAtRfvjrStrYsfXMh4vau2KHPe%2FseOMHkBLzX9JVgzGnne6ra4yk33QDpLZN325PUtXMKyM61YjR6YZ4zC5KwQus0lfZjE%2FTrJJjL0MR7dz6i%2FIoEkmIRumOIm%2FLaZFXxrFmdMpHV6EdBbv8raqE%3D

  1. 注意:RestTemplate 发送 http 请求会自动解码,请使用 okhttp、httpclient 组件

未能解决您的问题?请联系