api数据加密的定义_数据整合利器,明道云WebHooK节点高级用法教学

本文介绍了明道云中API鉴权自动刷新Token的方法,JavaScript中签名加密的实现,以及WebHook调用并写入工作表的步骤。通过示例详细解析了分贝通接口的调用过程,帮助读者掌握第三方API接口的调用技巧。
摘要由CSDN通过智能技术生成
7be164849a1e35427d4fa926368bae14.png

明道云支持API和Webhook功能,今天笔者就教会大家,如何在明道中进行API鉴权自动刷新,以及调用前参数签名,学会这些可以说市面上90% 的第三方API接口都可以调用。(以分贝通对接案例讲解)

一.Token的自动刷新

应用程序可通过调用开放平台提供的API获取到第三方的数据,因为涉及数据隐私,所以在使用前必须获得企业/会员的授权,才可以调用API(公开数据除外)。所以就需要获取用户的授权,以及保证授权的有效性。

第一次获取授权请手动获取,把对应的数据保存到一张工作表中来进行维护,Token初始化后,可以设置【自动刷新token】 工作流,来保证token的有效性。

实现原理:由于大部分的第三方API授权接口返回都包含以下三个参数:(access_token,refresh_token,expires_in)我们根据每次返回的Expires_in过期时间来计算出下一自动刷新token的时间。

如果第三方平台没有Expires_in 返回 ,一般第三方API文档中会有说明token的时效。例如: 2小时 7小时 1天 7天不等,可以根据时效自动计算下次的自动刷新时间。

工作流设置步骤如下:

  1. 新建工作流->选择按日期字段触发
006414083685f9c613340fcb7de2799e.png

2.调用token刷新接口,拿到对应的返回值:

e5b8615989c7a1d958902adbd487cec1.png

3.对于Expires_in参数进行处理 然后更新工作表中的token refresh_token 自动刷新日期。

二.JavaScript中签名的加密

对于分贝通平台,接口信息文档,Appkey需要作为参数参与签名,且不参与传递.加密数据包括时间戳timestamp和data数据,以上三个数据按照 "timestamp={0}&data={1}&sign_key={2}"顺序拼接后,进行MD5加密。

以下在代码块中的具体实现:

var crypto = require('crypto');//引入加密 划重点敲黑板

var key=input.singKey;//appkey

var page=input.page;

var timespan=new Date().getTime();//获取时间戳

var data={};

data.page_index=new Number(page);

data.page_size=20;

data.state=0;//获取所有状态

data.search_category=1;//获取所有企业

Var signstr=new Buffer.from("timestamp="+timespan+"&data="+JSON.stringify(data)+"&sign_key="+key, 'utf-8')

function md5(s) { //Md5加密

var hash = crypto.createHash('md5');

hash.update(s);

return hash.digest('hex');

}

Output= {"timespan":timespan,"page_index":page,"page_size":data.page_size,sign:md5(signstr),"data":JSON.stringify(data)};

效果如下图:

0afb00c2e9e8b2f268f069e9cdc28465.png

三.WebHook调用以及返回值写入工作表

添加webhook 节点,使用发送自定义请求,POST,接口地址按照接口文档填写下,把代码块返回值按照接口中需要传递的参数一一对应赋值。

获取返回值,获取到数据就可以写入到工作表中,就可以进行审批报销等操作了。关于工作流Wehhook的用法,可以参考帮助文档《Webhook:如何请外部系统API请求数据,并写入工作表》

6d517677456cacc76a420941e9c14e5d.png

最终效果如下图:

b6bf83bc48e20f8d3dc20cd2616daeb5.png

总结

只要了解nodejs 中的加密方式,根据这个教程,参考其他第三方接口文档一步步来,一定可以完成设置。

如有需要欢迎咨询!

参考资料

  1. 分贝通签名规则说明:http://docs.open.fenbeitong.com/open-api/2apijie-ru/22-apijie-ru-shuo-ming/221-qian-ming-suan-fa.html
  2. 分贝通获取机票列表地址:http://docs.open.fenbeitong.com/open-api/2apijie-ru/25-ji-piao/252-ji-piao-ding-dan-xiang-qing.html
  3. nodejs加密(sha1 base64 md5)参考地址:http://nodejs.cn/api/crypto.html#crypto_crypto
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值