App inventor Web调用百度UNIT(二)

1、前言
上节把百度端UNIT配置好了,这节主要记录App inventor的实现。
2、基本原理
UNIT调用时,需要读取系统为机器人分配的access _token。这个token有效期为1个月。为了方便,本次是手动获取并更新。其实可以能过网络微数据库来管理。
在获取access_token后。调用百度语音识别,识别结束后,通过web的post操作把问题推给机器人。
取得返回json文档后,把结果检索出来,然后用语音合成读出来。

3、基本界面
在这里插入图片描述
分别用了2个按钮和3个标签。主要是用于调试及返回。
另外增用了两个web端控件(HTTP客户端),为的是使用方便。如果不嫌麻烦,用一个web也可以的。
注意的是,screen中程序名要与我们在UNIT申请的语音包名称一致。
在这里插入图片描述
对应UNIT 这个名称 。另需注意的是,使用wxbit的app inventor时,应用包名称是带有”wxbit.“这个前缀的。在百度的语音包名称记得加上这个前缀。
在这里插入图片描述
相关传送门如下:App Inventor 语音交互技术
4 token获取
token获取的技术文档传送门: http://ai.baidu.com/docs#/Auth/top
对应在app inventor 中的程序块如下:
在这里插入图片描述
POST文本内容如下:grant_type=client_credentials&client_id=【你的ID】&client_secret=【你的secret】

对应的位置在这里:
在这里插入图片描述
返回是一个JSON文档。格式如下
在这里插入图片描述
我们解释出takon这个值 ,并放在一个变量中。
在这里插入图片描述
5 语音识别及问题推送
语音唤醒及识别不重点说明,重点记录怎么推送问题。
当语音识别完成后,先设置Web客户,设置块如下:
在这里插入图片描述
其中第一项文本内容是
https://aip.baidubce.com/rpc/2.0/unit/service/chat?
我选的是沙盒环境。记得”?“不能少。
然后是Body文件:

在这里插入图片描述

其中,service_id 对应机器人ID
在这里插入图片描述
SYS-REMEMBERD-SKILLS 对应的是技能ID。因为一个机器人是有多个技能的,虽然 我们这次只用了其中一个。
在这里插入图片描述
其它的按例填写就好了。

完整的技术方案传送门:UNIT机器人对话API文档

6 返回值处理
web返回的值也是一个JSON文档。超级长。我原来想一层一层地取键名和值。但太麻烦了,就当文字检索处理了。
这里是返回值的样例
在这里插入图片描述
我们只要取文本中"(say ” 以及 “)(type"的内容就好了。取文本的代码块如下:
在这里插入图片描述
7 测试
下图是测试结果,现在可以调用百度的UNIT了。
在这里插入图片描述
好了,UNIT调用通过了。它的意义在于,以后用App inventor也能轻松地调用百度开放的各类接口,也包括自己订制的机器人。

以上是Appinventor 的web 调用百度UNIT的过程,用谢谢阅读。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值