UIPATH 调用第三方接口(百度OCR文字识别举例)

  • 业务场景:

  • 使用RPA获取业务系统网站的验证码截图,将截图转base64之后传到百度OCR文字识别接口,获取文字识别结果,将识别结果用作登陆业务系统的验证码凭证。从而解决RPA自动登录系统的问题。
  • 设计思路:
  • UIPATH 调用第三方接口(百度OCR文字识别举例)_第1张图片

 

样例:

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格式
优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效

返回说明

  • 前期准备:

  • Uipath:添加一个webapi的包,用来发送http请求。

  • UIPATH 调用第三方接口(百度OCR文字识别举例)_第2张图片

    百度智能云:登录百度AI开放平台,申请免费文字识别免费试用额度(所有接口大概都有1000次/月,足够了),地址为百度智能云-登录=

  • UIPATH 调用第三方接口(百度OCR文字识别举例)_第3张图片UIPATH 调用第三方接口(百度OCR文字识别举例)_第4张图片 

    百度智能云官方文字识别官方文档地址: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流程搭建:

总流程图如下:

UIPATH 调用第三方接口(百度OCR文字识别举例)_第5张图片

流程搭建解析:

http请求

uipath活动-应用程序集成-网页-http请求

UIPATH 调用第三方接口(百度OCR文字识别举例)_第6张图片UIPATH 调用第三方接口(百度OCR文字识别举例)_第7张图片

根据前面的教程,我们知道这个活动需要填写内容为端点(请求url)、请求方法(post)、以及请求url对应的三个参数。

端点(请求url)为:” https://aip.baidubce.com/oauth/2.0/token”

请求方法:post

选项-参数:(命名严格要求)

UIPATH 调用第三方接口(百度OCR文字识别举例)_第8张图片

grant_type:"client_credentials"

client_id:你申请的百度apikey

client_secret:你申请的百度api secret

UIPATH 调用第三方接口(百度OCR文字识别举例)_第9张图片

输出-响应内容:自定义参数名称(通过ctrl+k命名变量accessToken)

反序列化json

uipath活动-编程-JSON-反序列化JSON

UIPATH 调用第三方接口(百度OCR文字识别举例)_第10张图片UIPATH 调用第三方接口(百度OCR文字识别举例)_第11张图片

 

这个活动只需要两个参数,分别为

输入-JSON字符串:http请求活动输出的响应内容的变量accessToken

输出-Json对象:自定义参数变量,这里命名变量json

分配

uipath活动-工作流-控件-分配

UIPATH 调用第三方接口(百度OCR文字识别举例)_第12张图片UIPATH 调用第三方接口(百度OCR文字识别举例)_第13张图片

 

该活动就是变量赋值,这里的作用是提取token(请求返回的数据可以参考官方文档https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu)

值:json("access_token").ToString()

受让人:accessToken

这样我们就把需要的token存放到了变量accessToken里面了。

调用接口流程搭建:

总流程图如下:

UIPATH 调用第三方接口(百度OCR文字识别举例)_第14张图片

流程搭建解析:

这里只对没有出现过的活动进行详细讲述,对于在请求token流程已经出现过的活动,这里就不再赘述,只是把对应的必要的参数展示一下。

截取屏幕截图

uipath活动-用户界面自动化-应用程序-截取屏幕截图

UIPATH 调用第三方接口(百度OCR文字识别举例)_第15张图片UIPATH 调用第三方接口(百度OCR文字识别举例)_第16张图片

 

使用方法与获取页面元素属性一样,选取对应的验证码元素之后,定义输出已保存的图像即可。

输出-已保存的图像:自定义变量名称(这里用ctrl+k命名变量img_code)

分配

获取token,把请求token赋值到变量。

将截图图片转换为base64格式。转换方法为img.Base64。

UIPATH 调用第三方接口(百度OCR文字识别举例)_第17张图片

http请求

请求参数如下:

请求url:https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic(百度通用文字识别(高精度版)的请求url,不同类型的接口url不一样)

请求方法:post

选项-标头:固定为Content-Type:application/x-www-form-urlencoded

 UIPATH 调用第三方接口(百度OCR文字识别举例)_第18张图片

选项-参数:主要有两个参数,一个请求的token,一个是需要解析的base64类型的图片数据。 

 UIPATH 调用第三方接口(百度OCR文字识别举例)_第19张图片

 

输出-响应内容:请求返回的结果,自定义的变量存储。

反序列化json

将步骤三请求结果转换成json对象输出,变量名称可以自定义,这里命名为json。

分配(解析json获得OCR结果)

对json结果进行解析转换为字符串,方法为“json变量("words_result")(0)("words").ToString().Replace(" ","")”

UIPATH 调用第三方接口(百度OCR文字识别举例)_第20张图片

 Json数据的结构可以参考官方的文档https://ai.baidu.com/ai-doc/OCR/1k3h7y3db

UIPATH 调用第三方接口(百度OCR文字识别举例)_第21张图片

通过以上所有步骤,我们就完成了通过调用第三方接口去实现文字识别的功能。只要把识别的结果应用到RPA流程设计中,就能够使得RPA实现自动登录业务系统的操作。 

 

 

 

 

 

 

 

 

你可能感兴趣的:(RPA,百度,uipath,RPA,OCR)