金蝶SDK使用JAVA实现appId与appSecret密钥认证原创
11人赞赏了该文章
2,720次浏览
未经作者许可,禁止转载编辑于2022年11月16日 12:00:39
先说一句,垃圾金蝶SDK。
密码认证请先看我上一篇文章,我的SDK版本是 7.9
我看最新的SDK移除了 一些方法,无所谓,只要能设置就行。
String = String =
这个是 serviceName 类似于path。
密钥认证需要准备的东西有:
IdentifyInfo identifyInfo = IdentifyInfo()identifyInfo.setdCID( k3CloudApiConfig.getAcctId() )identifyInfo.setAppId( k3CloudApiConfig.getAppId() )identifyInfo.setAppSecret( k3CloudApiConfig.getAppSecret() )identifyInfo.setServerUrl( k3CloudApiConfig.getServerUrl())identifyInfo.setUserName( k3CloudApiConfig.getUserName() )identifyInfo.setlCID( k3CloudApiConfig.getLcId() )
除了密码不用,其他都要。
直接步入正题。
先看postman,有个印象。
相信你这么聪明,一定能明白。
那么接下来看金蝶SDK,我需要说一点的是,金蝶认证的核心在于 设置一个 登录后的 sessionID,这样后续业务才可以调用,上面这个接口登录成功会返回,其次,我上篇文章直接使用 SDK去调用认证的方式,这个行不通,那么我们需要换一种方式。
1、编写类去继承调用的 K3CloudApi
SupperK3CloudApi K3CloudApi { (IdentifyInfo identify) { (identify)} (K3CloudCookieStore k3CloudCookieStore){ .afterExecute(k3CloudCookieStore)} }
2、随便使用一个 http的调用工具,比如 hutool,okhttp3
Boolean (){ { Map<StringObject> params = HashMap<>()params.put(.getLcId())params.put(.getAcctId())params.put(.getAppId())params.put(.getAppSecret())params.put(.getUserName())String serverUrl = .getServerUrl()(! serverUrl.endsWith()){ serverUrl += } String result = HttpUtil.(serverUrl + K3CloudApiConstants.params).= JSON.(resultValidateUser.)( .== || ..getLoginresulttype() == || ..getLoginresulttype() != || ..getKdsvcsessionid() == ){ .= RuntimeException()} String kdsvcsessionid = ..getKdsvcsessionid()K3CloudCookieStore k3CloudCookieStore = K3CloudCookieStore()k3CloudCookieStore.setSID( kdsvcsessionid ).setK3CloudCookieStore( k3CloudCookieStore ).= } (Exception ex){ .= .error(ex)} }
这样业务调用就没问题了
md,我发现不需要认证也能调用,sb金蝶,尼玛
赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读