UIPATH 调用第三方接口(百度OCR文字识别举例)
业务场景:
- 使用RPA获取业务系统网站的验证码截图,将截图转base64之后传到百度OCR文字识别接口,获取文字识别结果,将识别结果用作登陆业务系统的验证码凭证。从而解决RPA自动登录系统的问题。
- 设计思路:
样例:
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的百度APIKey&client_secret=你的百度SecretKey
参数 |
值 |
access_token |
通过API Key和Secret Key获取的access_token,参考“Token获取” |
参数 |
值 |
Content-Type |
application/x-www-form-urlencoded |
返回参数(这里只展示我们需要用到的返回参数)
字段 |
是否必选 |
类型 |
说明 |
words_result |
是 |
array[] |
识别结果数组 |
words_result_num |
是 |
uint32 |
识别结果数,表示words_result的元素个数 |
+ words |
否 |
string |
识别结果字符串 |
参数详情如下:
请求参数(这里我们只需要对图片进行处理,后续可以根据实际情况扩充)
参数 |
是否必选 |
类型 |
可选值范围 |
说明 |
image |
和 url/pdf_file 三选一 |
string |
- |
图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 |
返回说明
前期准备:
Uipath:添加一个webapi的包,用来发送http请求。
-
百度智能云:登录百度AI开放平台,申请免费文字识别免费试用额度(所有接口大概都有1000次/月,足够了),地址为百度智能云-登录=
-
百度智能云官方文字识别官方文档地址:https://ai.baidu.com/ai-doc/OCR/1k3h7y3db。查看帮助文档,获取api接口以及参数,发现调用该接口需要进行两步操作
获取token
以下资料来源百度智能云文档,链接为https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
请求URL数据格式
向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:
- grant_type: 必须参数,固定为client_credentials;
- client_id: 必须参数,应用的API Key;
- client_secret: 必须参数,应用的Secret Key;
- 携token调用文字识别接口
这里以通用文字识别(高精度版)为例,文档参考链接:https://ai.baidu.com/ai-doc/OCR/1k3h7y3db
请求说明
示例
- HTTP 方法:POST
- 请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic
- URL参数:
- Header(标头):
- Body中放置请求参数
返回参数(这里只展示我们需要用到的返回参数)
字段 |
是否必选 |
类型 |
说明 |
words_result |
是 |
array[] |
识别结果数组 |
words_result_num |
是 |
uint32 |
识别结果数,表示words_result的元素个数 |
+ words |
否 |
string |
识别结果字符串 |
UIPATH流程搭建:
由于验证码截图和系统登录流程在uipath流程设计里面有涉及,这里就不赘述。这边主要展示请求token与调用文字识别接口的流程设计。
请求token流程搭建:
总流程图如下:
流程搭建解析:
http请求
uipath活动-应用程序集成-网页-http请求
根据前面的教程,我们知道这个活动需要填写内容为端点(请求url)、请求方法(post)、以及请求url对应的三个参数。
端点(请求url)为:” https://aip.baidubce.com/oauth/2.0/token”
请求方法:post
选项-参数:(命名严格要求)
grant_type:"client_credentials"
client_id:你申请的百度apikey
client_secret:你申请的百度api secret
输出-响应内容:自定义参数名称(通过ctrl+k命名变量accessToken)
反序列化json
uipath活动-编程-JSON-反序列化JSON
这个活动只需要两个参数,分别为
输入-JSON字符串:http请求活动输出的响应内容的变量accessToken
输出-Json对象:自定义参数变量,这里命名变量json
分配
uipath活动-工作流-控件-分配
该活动就是变量赋值,这里的作用是提取token(请求返回的数据可以参考官方文档https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu)
值:json("access_token").ToString()
受让人:accessToken
这样我们就把需要的token存放到了变量accessToken里面了。
调用接口流程搭建:
总流程图如下:
流程搭建解析:
这里只对没有出现过的活动进行详细讲述,对于在请求token流程已经出现过的活动,这里就不再赘述,只是把对应的必要的参数展示一下。
截取屏幕截图
uipath活动-用户界面自动化-应用程序-截取屏幕截图
使用方法与获取页面元素属性一样,选取对应的验证码元素之后,定义输出已保存的图像即可。
输出-已保存的图像:自定义变量名称(这里用ctrl+k命名变量img_code)
分配
获取token,把请求token赋值到变量。
将截图图片转换为base64格式。转换方法为img.Base64。
http请求
请求参数如下:
请求url:https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic(百度通用文字识别(高精度版)的请求url,不同类型的接口url不一样)
请求方法:post
选项-标头:固定为Content-Type:application/x-www-form-urlencoded
选项-参数:主要有两个参数,一个请求的token,一个是需要解析的base64类型的图片数据。
输出-响应内容:请求返回的结果,自定义的变量存储。
反序列化json
将步骤三请求结果转换成json对象输出,变量名称可以自定义,这里命名为json。
分配(解析json获得OCR结果)
对json结果进行解析转换为字符串,方法为“json变量("words_result")(0)("words").ToString().Replace(" ","")”
Json数据的结构可以参考官方的文档https://ai.baidu.com/ai-doc/OCR/1k3h7y3db
通过以上所有步骤,我们就完成了通过调用第三方接口去实现文字识别的功能。只要把识别的结果应用到RPA流程设计中,就能够使得RPA实现自动登录业务系统的操作。
UIPATH 调用第三方接口(百度OCR文字识别举例)相关推荐
- Java调用百度OCR文字识别的接口
调用百度OCR文字识别的接口,来自于百度官网,亲测可以使用 跳转链接 FileUtil的下载链接 Base64Util下载链接 HttpUtil下载链接 GsonUtils下载链接 Accurate. ...
- Java调用百度OCR文字识别API实现图片文字识别软件
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
- java ocr api_Java调用百度OCR文字识别API实现图片文字识别软件
Java调用百度OCR文字识别API实现图片文字识别软件 原创isinple 发布于2019-01-06 13:35:59 阅读数 1296 收藏 展开 java_baidu_ocr Java调用百度 ...
- 百度OCR文字识别及使用案例
百度OCR文字识别使用案例 案例环境 Windows10.Jdk1.8.IDEA2019.3.5旗舰版 一.账号注册及创建应用 1.访问地址: https://ai.baidu.com/tech/oc ...
- 百度OCR文字识别-Android安全校验
百度OCR文字识别-Android安全校验 本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为 ...
- 百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604]
百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604] 本文转载自好基友upuptop:https://blog.csdn.net/ ...
- android百度识别,百度OCR文字识别-Android安全校验
效果图: 如下为文章正文: 百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐 ...
- python(自动化)利用selenium+百度ocr文字识别验证码实现自动登陆登陆CET-四级报名系统
操作步骤: 1:登陆打开CET-考试系统 2:填写相关登陆信息 3:调用百度ocr实现文字验证码识别 4:实现登陆 如何使用和调用百度ocr文字识别接口 1:进入百度AI开发平台:链接 2:在页面上选 ...
- 百度OCR 文字识别 Android安全校验
百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...
最新文章
- Go 知识点(18)— 条件编译(编译标签、文件后缀)
- 丁磊建议将少儿编程纳入学业水平考试,是少儿编程太热,还是起跑线焦虑
- 全差分放大器——共模的意义
- python找工作难吗-为什么我不建议你通过 Python 去找工作?
- 谷歌杀手Wolfram Alpha搜索引擎上线测试
- Linux环境进程间通信(二): 信号--转载
- 中缀表达式生成二叉树
- 安卓php高级编辑器使用方法,Android Studio实战 - 编辑器介绍与使用
- Google, 请不要离开我们!
- call,apply
- gcc -fPIC选项
- 【机器学习】 - keras学习 - 图片生成器ImageDataGenerator
- java中图片与像素矩阵转换,java - Java中具有矩阵乘法的图片转换不起作用 - 堆栈内存溢出...
- vue 实现图片预览放大以及缩小
- vue json对象转数组_vue组件间通信六种方式(完整版)
- C#发送邮件,包含发送附件
- oracle imp指定表空间导入,imp导入其它表空间数据库
- python凹多边形分割_在Python中OpenCV多边形的凹凸角点
- 数据库从入门到精通01
- 字节码是什么?字节码增强有哪些?
热门文章
- Baxter官方例程
- LightOJ 1070 Algebraic Problem (推导+矩阵快速幂)
- 华为开发者联盟上架Android 安装包 包名重复问题
- 在Arduino 完成STM32板子的串口通信程序
- 【2016年总结】-- 你若盛开,清风自来
- Pairwise Body-Part Attention for Recognizing HOI(面向HOI识别的成对身体部位注意力机制)
- Multisim仿真—整流滤波电路(二)
- 装修房子流程步骤详解图
- Anaconda Distribution :流行的Python数据科学平台
- node_map: Dict[str, type] = {}