api接口参数加密_.NetCore对接各大财务软件凭证API——用友系列(1)

.NetCore对接各大财务软件凭证API——用友系列(1)

一.前言

今天,我们转战用友系列的第一个产品---T+/Tplus。前两篇文章讲解分享的都是金蝶的产品,因为本身公司牵涉的业务有限,后续有金蝶其他产品的API对接业务时,会继续来分享经验。

T+的API接口,哎,想起来都是心酸泪。关于该接口的对接开发经验,我之前也简单记录了一些,传送门记录用友T+接口对接的心酸历程 今天我们就来详细解析下这令人头大的财务API接口。

二.API接口详解

2.1接口定义和入参

根据开发者社区API文档的描述我们可以看到,T+版本为12.3以上的API对接,都必须使用V2版本,那v2与v1版本的区别有哪些呢?主要有两点:1. 请求认证方式,增加云企业ID认证方式 ;2.v2版本支持异步请求。OK,因为我们对接的客户财务环境为12.3,那么我们就来处理v2版本的OpenAPI,该版本的API引入了鉴权机制,简单来说就是在请求头增加了授权 Authorization 参数.

2.1.1 Authorization参数以及签名处理

那么 Authorization 参数如何才能生成呢?可以看官网首页的描述是 需要appkey、appsecert、私钥的文件全路径。那这三个参数又如何才能获取呢?必须申请ISV认证,即注册ISV,提交开发申请通过审核后,总部会将这三个参数一并发到注册时预留的邮箱里。

2.1.2 OrgId方式的签名算法处理

这里,我们在上一步已经拿到签名所需的三个必要参数了,官网给了两种请求Head的处理方式,一种使用OrgId,一种使用用户名、密码、账套号,这两种方式我们都会讲到。先看第一种方式OrgId访问。

OrgId的获取方式,官网描述的也有,

75099a22006da6e4cb3a14545f635e28.png

即必须开通云企业才能看到

476773dff8ad6d6b5193052c3ee923af.png

这样,我们第一种使用OrgId认证方式的所需参数就已全部准备完毕了,接着往下看,首先需要对appKey、orgid、appsecret、私钥全路径做一个签名1的算法加密,这个算法官网给我们提供的也有,这里仅提供C#版本的签名算法1接着做一个Base64位的加密即可得到Authorization参数。

     if (!APIConfig.AuthorizeParameters.ContainsKey("appkey")
                || !APIConfig.AuthorizeParameters.ContainsKey("orgid")
                || !APIConfig.AuthorizeParameters.ContainsKey("appsecret")
                || !APIConfig.AuthorizeParameters.ContainsKey("secerturl"))
            {
    
                throw new Exception("鉴权参数不完整");
            }
            var request = new AccessTokenRequest();
            Dictionary<string, object> parm = new Dictionary<string, object>();
            string appkey = APIConfig.AuthorizeParameters["appkey"];
            string orgid = APIConfig.AuthorizeParameters[&#
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值