实战版 天猫精灵接入指南(AliGenie接入)

一 概述
最近公司有个XX产品需要接入天猫精灵,功能很简单大体是使用天猫精灵打开XX产品,设置模式以及查询状态三个功能
现在功能已经基本完成了,再次做个总结供有需要者参考


二 接入时间
关于接入时间,先说说我们这个项目,去年11月份立项开始调查,一直到现在大概用了5个月(时间真的长了点)。由于多个项目并行
如果全部投入的话大概1个月足以(我们IoT的产品平台有些繁杂的基准上进行预计)。现将流程排列如下

 

三 具体接入

第一步授权和事前准备
(一)事前准备
1 申请账号
这里我申请的是个人版,要是申请企业认证需要有企业支付宝账号,这个申请大概需要多长时间哪位大神申请过可以留言告诉我
2 加入钉钉群
这个很重要,有问题可以在钉钉群中问,由于这次接入了多个音响感觉阿里支持度这最好,项目风险最低
3 开通防火墙
我直接开通https://open.bot.tmall.com这个域名的防火墙,原以为调试的时候会有防火墙问题,没想到异常顺利。没有碰到防火墙的问题
4 配置https证书
我们的服务本身就是https的这部省了,如果你要对接的平台不支持https,需要购买证书然后进行配置保守估计一周搞定
5 阅读文档
由于各种申请和开通防火墙都不可控就按一周算吧,申请完成后可以干点别的

(二)OAuth认证开发
万事具备我们来开发吧
首先我们开发的功能属于智能家居技能,但是我想要的方法智能家居提供的技能不包含,所以我智能使用自定义技能
接入总共分两步也就是OAuth认证和业务逻辑调用
先说第一步OAuth认证
我们使用注册码模式先返回code,然后用code换token,具体OAuth的图我不上了,可以在接入文档中找到
咱们先打开控制台--》技能管理--》授权配置页面
我的配置如下:
账户授权连接:https://XXXXXXX.com/oauth/alibaba/login
Client ID:XXXXX-XXXX-XXXX-XXX-XXXXXXXX
Client Secre:SSSS-SSSSS-SSSSS-SSS-SSSSSSS
跳转 URL:https://XXXXX.com/oauth/callback
Access Token UR:https://XXXXXX.com/oauth/alibaba/auth
厂商登出URL:这个我没有配置那个大神配了留言给我

第二步功能开发
配置设置完成之后就可以开始进行OAuth认证的开发了
1 授权页面开发
这部分主要表单提交我使用JSP,天猫精灵会直接访问你的你的页面用户输入正确的用户名密码后你返回code给天猫,天猫再用AccessTokenURL和你的code邀请Token各种OAuth框架真心没必要用。
这部分注意在真机测试的时候一定要确保绑定的音响的账号和登陆控制台的是同一个账号,我就以为用了不同的账号导致一直没有反应
2 WebHook调用我们的应用
首先控制台意图下下载认证文件,把认证文件放在https://XXXX.com/aligenie/目录下,这块切记下载的认证文件不要改名字,不要改名字
不要改名字,重要的事情说三遍,我把文件名改为file.txt结果你知道的始终不好使
3 调用我们的参数
认证文件可以访问后就可以设置调用的URL了,阿里提供了SDK你可以使用SDK来进行请求参数的解析和应答的返回十分方便
这把又有个问题就是阿里会缓存上次的参数,但可以通过solt.getLiveTime()来确认是否为缓存的参数
4 关于refreshtoken
这个调用和获取token相同的url,可以用type进行区分,阿里建议token的有效期为2-3天,所以设置一个较长的refreshtoken是有必要的,
毕竟token有可能被劫持,而refreshtoken验证需要client名和密码相对安全些

 

第三步准备审核
现在正在进行这一步,可以加入钉钉群,阿里支持没得说,你说要提交审核他们会给你发送相关文档之后钉钉群中会详细要求修改你的描述,之后拍摄一个视频交给审查人员,审查相当快我一天就完成了审查,审查后技能不会立即上架,你需要上架时在钉钉群中下线申请,有修改也要在钉钉群中告知修改内容。
以上就是全过程希望能对你有所帮助

你可能感兴趣的:(IoT)