接入外部服务可以让技能拥有更强大的功能,平台支持开发者配置自己的服务,配置完成后即可在回复逻辑处理模块中调用。
1.服务的创建
首先进入到技能的“配置-服务”菜单,进入服务列表页面,点击"创建服务"按钮来创建一个服务
进入到服务创建页面,填写好服务名称(服务名称将会是你IDE配置逻辑中引用此服务的唯一标识,服务名称推荐使用英文字母、数字和下划线组成
点击"确定"按钮,跳入到服务详情页面,填写以下信息
详情页面的几个值解释:
1)服务名称:意图中回复逻辑XML配置调用服务时会以此名称来引用此服务
2)描述:可以为空,主要用于说明此服务的作用
3)method:方法调用方式,即http(s)服务采用何种方式进行调用,目前支持GET和POST方法调用
4)URL:服务的地址,支持http和https
5) 输入参数:服务调用所需要的参数,其中参数全部是以键值对对应,从左往右按列排过去
a)第一列是一个勾选框,如果勾选上表示此参数在服务调用时是必需要有的,当服务调用缺少这个参数时将会抛出服务调用异常
b)第二列是参数的名称(键),必需要填,不能为空
c)第三列是对此参数的描述,可以为空
d)第四列为此参数的value,编辑时可以为空,此值只会用于服务测试所用
6)响应示例:当配置好服务时,可以点击测试按钮,这样在响应示例一栏会显示你调用的服务返回回来的结果
最后点击"提交"按钮提交编辑内容,我们看到服务列表中已经出现了我们创建的服务
至此,恭喜你!你已经创建了一个服务。
2.服务的调用
在意图的回复逻辑编写中当需要调用相关服务时该怎么样调用呢?下面给出一个示例
<param name="queryMap" type="Map(String,String)">Map.of("areaName",city,"date",Date.getStartDate(time))</param>
<param name="weaterResult" type="String">Service.request("weather_query",queryMap)</param>