天猫精灵 OAuth2.0 (java)

1.前置条件

java语言、天猫精灵X1、技能类型->智能家居

2.OAuth2.0的搭建

    因为AliGenie平台要求对接需要采用通用的OAuth2.0开放授权协议,所以我们先需要搭建一个OAuth2.0的服务让AliGenie对接使用。

2.0.1

如图2.0.1配置所说,我们首先需要提供一个账户授权连接地址、一个client ID、一个Client Secret、Access Token URL
账户授权连接地址: 按照AliGenie平台描述的是一个OAuth2.0的授权页面。我们通常是做一个h5的登陆页面,在当前页面或者在控制类里面接收再跳转到一个h5页面进行当前系统的登录校验。登陆成功之后重定向到AliGenie访问带过来的redirect_uri去。注意:重定向redirect_uri里 需要带上code(也就是授权码)

Client ID:自己定义的客户端id 、可以留作纪录使用

Client Secret:自己定义的客户端芈月、可以当做校验使用

Access Token URL:当前重点,生成与AliGenie平台交互的token接口。返回可以参照AliGenie平台的规范,成功情况下返回access_token、refresh_token、expires_in  三个字段

后台使用jar: org.apache.oltu.oauth2.authzserver,org.apache.oltu.oauth2.resourceserver

3.设备管理

开发者网关地址:对于当前设备操作、查询的接口。当前接口会接收AliGenie传递的json

关注重点:namespace、name、accessToken

当前三种namespace:设备发现("AliGenie.Iot.Device.Discovery"),设备控制("AliGenie.Iot.Device.Control"),设备属性查询("AliGenie.Iot.Device.Query");

根据当前请求进行相应的操作,注意格式规范。

AliGenie.Iot.Device.Discovery类型:返回设备列表

AliGenie.Iot.Device.Control类型:得到当前设备的操作

AliGenie.Iot.Device.Query类型:设备的属性查询

接收到设备操作、就可以接进自己的设备和后台之间的通讯进行操作

到此为止、该写的代码已经完成

4.如何操作

一.帐号申请、绑定、测试

在AliGenie 用自己的或者单位的淘宝帐号进行申请(个人认证比较快)。

    1.认证通过之后填好服务设置(访问地址记得需要https加密类型)、

    2.在测试验证模块打开测试

    3.在技能发布添加对话信息等(对话信息记得和上面提到设备列表的名称相关联)

如我返回的两个设备名称是电视、空调。对话信息我则设置打开电视、打开空调

4.天猫精灵登录(当前淘宝帐号)、绑定天猫精灵设备。在智能家居模块点击进入,就可以看到你设备列表返回的数据。然后就可以操作天猫精灵了





二.需要注意点

1.服务设置需提供https访问、设备管理可以http访问。

2.在测试打开之后、可以不提供审核即可真机测试

3.设备列表的设备名称、技能信息尽量不带数字

4.忘记说了 我注册类型是智能家居类型

推荐阅读更多精彩内容