api调用怎么获得response数据_干货来了 | 如何调用API来获取数据?

074cb7127cb7ac07e27d3e1c8524e9aa.png

大家好,从标题可知,这节课我们主要学习如何调用API来获取数据。通常,流程需求除了网页、桌面端应用及应用文档的数据读写操作,也有调用第三方平台的API来获取项目所需数据的场景,比如调用第三方短信平台接口发送短信,再比如客户觉得从网页端系统获取数据太慢,他要提供API接口让我们直接调用接口获取数据等等。

那么,我们该怎么实现接口调用呢?这节课,就拿汇率查询来举例跟大家说说接口调用的方法。

准备工作:

  • 准备开发流程的电脑,请打开云扩学院链接查看云扩RPA编辑器运行的硬件&软件要求。

  • 打开云扩官网下载编辑器并安装。

  • 准备阿里云汇率查询-极速数据AppCode(调用前1000次免费)。

  • 准备货币代码与货币币种对应关系表,如下图所示(图片只展示部分数据):

094f67b97ab44d89798f8f547f7e4ae7.png

流程设计图示:

42a09b967facaf3c4bc4475fcfdd7f56.png

流程操作步骤:

  • 搭建数据表
1. 拖入“搭建数据表”组件,定义列名:目标货币类型、货币代码与汇率与数据表输出变量: 9652d4d989a7d412e8131e716e12914b.png
  • 查询汇率条件
1. 这里,我们预期流程运行时让用户选择而非填入目标货币类型,那么拖入“下拉选择框”组件,定义标题、下拉选项(new String[]{"全部","美元"})与输出变量(selectedValue): 48344babb0a08b9f5c9856d9568e657e.png 2. 打开事先准备好的货币类型与货币代码Excel关系对应表,通过用户选择的货币币种查找对应的货币代码。拖入“打开/新建”组件,选择Excel关系对应表,再拖入“查找”组件,填入查找数据为上步操作中用户选择的数据(selectedValue),并定义输出单元格变量(cellValueAddress): 446146e84606b26b84ffe4ad733e49c3.png 3. 上步操作查找出指定货币类型对应的单元格地址,如:B16,那么我们要获取其中的行号,然后与字母“A”拼出该货币类型对应的货币代码所在单元格。拖入“提取文本”组件,并输入正则表达式 \d+ 用来从单元格地址字串中获取行号、源文本,并定义输出提取结果变量(resultText): e3f36236e32a119c041df4d103981cb8.png 4. 拖入“读取单元格”组件,输入用上步操作中获取的行号与字母“A”拼出对应货币代码的单元格地址与工作表,并定义输出单元格内容变量(cellValue): 9d3b388eb313dbae28577714417e5c5b.png
  • HTTP请求
以上操作已获取对应的货币代码,接下来,我们需要调用API接口来获取对应的汇率。打开汇率查询-极速数据产品查看API调用说明,链接:https://help.aliyun.com/document_detail/157953.html?spm=5176.730006-56956004-57000002-cmapi011221.content.6.27cd6a01EFf9Te

3ff445e660738950cc11a6fb6c3399fe.png

再打开链接 (https://market.aliyun.com/products/57000002/cmapi011221.html?spm=5176.2020520132.101.2.2a997218J5BqoN#sku=yuncode522100006)可见我们可调用三种接口: a) 单个货币查询接口   b)汇率转换接口   c)所有货币查询接口 根据页面提供的调用地址、请求方式、API调用身份认证及参数介绍 0511ad3ba845d1e1dfef87f13e65de60.png 前两个接口URL分别为:
  • 单个货币查询接口

https://jisuhuilv.market.alicloudapi.com/exchange/single?currency=CNY 货币参数为:CNY
  • 汇率转换接口

https://jisuhuilv.market.alicloudapi.com/exchange/convert?amount=10&from=CNY&to=USD

货币参数为CNY及USD
1. 本例中我们查询人民币兑换所有币种的汇率(调用单个货币查询接口)及人民币兑换单一币种汇率(调用汇率转换接口),根据以上URL中参数(即货币代码)可见,我们可通过判断第4步中获取的货币代码来决定接下来所要调用的API为哪个。拖入“流程决策”组件,输入判断条件: cellValue.ToString() == "CNY" 9b4c913c3ceec99cc4f4ac88fa046238.png 2. 如果上步操作判断为真(读取的货币代码为CNY),我们调用单个货币查询接口,拖入“HTTP请求”组件,点击“设置请求方式”并填入请求方法、URL、内容类型及头部,定义输出响应正文变量:responseBody (json格式) 173d8415b15295fea9ee403de1cf4e06.png 3. 如果上步操作判断为假,即货币代码不是CNY,我们调用汇率转换接口,并将读取的货币代码为变量值(因为上面已经提到我们查询人民币兑换其他货币的汇率,所以URL中保留参数from=CNY货币类型),拼接在URL中: "https://jisuhuilv.market.alicloudapi.com/exchange/convert?amount=10&from=CNY&to=" + cellValue.ToString() 定义输出响应正文变量:responseBody (json格式) 2841ef85217465b23ccbd11987786af8.png
  • 获取数据
运行以上流程可得到JSON格式的响应正文,获取所有币种汇率的JSON文本格式如下面视频所示: 1. 我们需要从上面视频所示的JSON文本中获取货币币种、货币代码及汇率,通过C#代码来完成。拖入”执行C#代码“组件,添加代码获取货币代码、货币种类及汇率数据并存入数据表中: 7752ef2f67020c20b043ef8cfb5d5f70.png
try{  JObject jObject = (JObject)JsonConvert.DeserializeObject(responseBody); //JSON字符反序列化  JObject resultValue = (JObject)jObject["result"]; //获取result值  JObject list = (JObject)resultValue["list"]; //获取list值foreach (JProperty jp in (JToken)list) //循环获取货币代码、货币类型及汇率  {      DataRow row = dt.NewRow();      row["货币代码"] = jp.Name;      JObject valueObj = (JObject)jp.Value;      row["目标货币类型"] = valueObj["name"];      row["汇率"] = valueObj["rate"];      dt.Rows.Add(row);     //添加至数据表中  }}catch(Exception ex){  Console.WriteLine(ex.Message);}
2. 同理,用C#代码获取当货币代码不为CNY时的数据: 29729b1f8e1d6066bde62f74f7c51b97.png
try{  JObject jObject = (JObject)JsonConvert.DeserializeObject(responseBody); //JSON字符反序列化  JObject resultValue = (JObject)jObject["result"]; //获取result值  DataRow row = dt.NewRow();                        //定义数据行  row["货币代码"] = jObject["result"]["to"];         //获取货币代码、货币类型及汇率  row["目标货币类型"] = jObject["result"]["toname"];   row["汇率"] = jObject["result"]["rate"];    dt.Rows.Add(row);     //添加至数据表}catch(Exception ex){  Console.WriteLine(ex.Message);}
  • 预览数据
拖入“预览数据表”组件,添加数据表变量 dt 8f7a140df621907cfb700bde3e27ff22.png 至此,整个流程开发完毕,保存并运行,查看获取数据。下面流程运行视频供参考: 好啦各位,今天的课程就到此为止,请问你的项目里有API调用吗?那么,你又是怎么操作的呢? 快来点击 阅读原文 ,申请下载云扩RPA社区版吧! 作者简介: 4df1db67fad92f1dd901b9cc7b7704b9.png c38bb2fa76c5db5e2c748a63eec801e8.gif 推荐阅读 点击图片即可阅读

60b6c32fbb6f52f7a031107447212c48.png

0945dbcfd7413c580e06a8258f6f046b.png 97feac7631dd6605ffb4f275d500f55f.png -END- 上海云扩信息科技有限公司是全球RPA领域的创新领军者。公司以自研的云扩RPA平台为核心,致力于为各行业客户提供智能的RPA机器人产品与解决方案,通过RPA赋能,持续为客户创造价值,助力企业推进数字化转型。 94b83907ded72782a224709537fdd1ab.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值