ESAP达摩院 思想有多远,我们就能走多远

黑科技|聚全球数据为我所用

2018-07-06

本文带你一起感受聚表/慧表的全新震撼功能——对接WEB-API。

WEB-API扫盲

什么是WEB-API?

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 ————来自《百度百科》

在流行微服务的当下,WEB-API通常是前后端分离后的一种后端数据服务,通过http方式调用该服务的方法,传入参数,例如本表字段,然后获得需要的数据内容。

从应用的角度来看,WEB-API类似于外部数据源,但是我们不需要知道对方的数据库密码,也不需要知道对方是用什么编程语言,只需要知道其网址(URL)就可以提数回写了。

热身

这次,村长准备用百度翻译来小试牛刀,首先我们来了解一下百度翻译API的用法规则,热身一下。

  • 主要看接入方式,这里我们知道API的地址是:http://api.fanyi.baidu.com/api/trans/vip/translate,此处划重点,等一下要用。

  • 然后是参数字段,主要有q,from,to,appid,salt,sign一共6个参数,注意,sign是其他几个字段拼接后的md5值,这个是难点,等下要突破。

  • 继续往下看,API的返回结果在trans_result数组里面,包括了srcdst,dst就是最终翻译结果。

  • 上面的图中有个包含了完整的请求URL的例子,这里的appid,salt和密钥都是可用的,一会我们拿来套用,当然,你也可以用自己申请的appid等。

对接

进入聚表/慧表,点击外部接口,新建一个WEB-API,描述随意,URL填:http://api.fanyi.baidu.com/api/trans/vip

接下来在这个API下新建translate接口方法,类型为GET,在传入参数中填入上面的6个参数字段。

然后点击表结构,新建一个,名字叫trans_result,包含src和dst字段。

最后点击传出参数,设置一个表,选择tran_result,这样就实现了API的结果映射到表

通过上面的过程,我们就完成了API到虚拟表结构的映射。

应用

创建一个模板,设置8个字段,其中6个是参数,1个结果字段,还有一个辅助字段sign2(f8单元格),用于拼接字符串备用。

根据百度翻译API的要求,sign字段是拼接字符串sign2的md5值,这里我们使用万能的提数来计算md5。

上面的提数,使用sql自带函数HashBytes()完成md5计算,然后填入到本表sign字段。

万事俱备,只欠东风,主角登场了,再新建一个翻译提数,勾选通过API提取。

点击API参数绑定,传入参数设置6个字段,相当于筛选条件,传出字段设置trans_result.dst填入到本表结果即可。

最后,设置一个报表按钮,应用这两个提数公式,大功告成。

实际效果

输入you are my small apple,点击翻译一下按钮,效果如下:

目标语言选择日语(jp),点击翻译一下按钮,翻译如下:

以此类推,连越南语都有(vie),看起来不明觉厉的鸟语,hiahiahiahia~

小结

  • 使用聚表/慧表的万能提数,你可以轻松连接任何在线API服务,例如快递,天气,实时汇率查询,甚至点外卖等等,后面的文章中,我们将介绍如何通过API回写数据。

  • 本文涉及的案例已打包成【六一库(180706)】←点击下载,欢迎下载玩耍。


近似文章