技术标签: IoT
一 概述
最近公司有个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名和密码相对安全些
第三步准备审核
现在正在进行这一步,可以加入钉钉群,阿里支持没得说,你说要提交审核他们会给你发送相关文档之后钉钉群中会详细要求修改你的描述,之后拍摄一个视频交给审查人员,审查相当快我一天就完成了审查,审查后技能不会立即上架,你需要上架时在钉钉群中下线申请,有修改也要在钉钉群中告知修改内容。
以上就是全过程希望能对你有所帮助
解决办法:pip install numba==0.53
点击文末的阅读原文或者公众号界面右下角的【夏令营】是计算机/软件等专业的所有保研夏令营活动信息集合,会一直更新的。同时我们也建立了一个QQ群(为公众号所有,非学校所设),同学们可以们在里...
介绍在机器学习中,支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络[1])是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类...
此篇是本人 LeetCode 算法刷题技巧总结,还包括刷过的算法题分类,自己记录以便后续二刷三刷,也分享给大家欢迎一起交流探讨。话说现在非常遗憾大学期间没能坚持搞 ACM,出来社会才越发觉得后悔,但是遗憾归遗憾,我还是相信种一棵树是十年前,其次是现在,所以重新再来为时不晚!刷起!!!
JavaScript中的解构及数组对象操作文章目录JavaScript中的解构及数组对象操作解构列表解构参数解构数组解构对象解构数组操作对象的操作JS的结构很灵活,参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax搜集多个参数使用【...变量名】表示结构...
四块‘木板’打造一个安全的网络环境(赵明企业网络整改方案)前 言木桶效应是说对于一个沿口不齐的木桶来说,它盛水的多少,不在于木桶上那块最长的木板,而在于木桶上最短的那块木板。实际上企业网络安全防线就好比是这个木桶,而企业网络不安全因素是永远存在的这就好比木桶里的水。如何不让‘水’突破&a...
之前在Centos虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见博文:http://blog.csdn.net/ai_net/article/details/7693165但是,在本机访问虚拟机的时候,因为系统原因,还是会有一些问题的,解决方法有:http://blog.csdn.net/ai_net/article/details/7693788除了上面一篇博文写到的问题
由于只是学习伪静态就自己配个host随便玩了,也没多写配置文件,注意是伪静态上面的一条伪静态(rewrite)是将访问wojiuwangla.com/wangla.html给301(重定向)到百度。首先配置host,我的电脑是win10的,host文件在C:\Windows\System32\drivers\etc\hosts访问结果访问域名,正常返回,然后访问伪...
iOS ● 非常全的三方库、插件、大牛博客等等github排名:https://github.com/trending,github搜索:https://github.com/search.此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOSUI下拉刷新EGOTableViewPullRefres...
dpkg: 警告: 在 PATH 环境变量中找不到 ldconfig 或没有可执行权限dpkg: 警告: 在 PATH 环境变量中找不到 start-stop-daemon 或没有可执行权限dpkg: 错误: 2 在环境变量 PATH 中找不到该程序,或不可执行提示:root 的 PATH 环境变量通常应当包含 /usr/local/sbin、/usr/sbin 和 /sbin出现这个错误时应当vi ~/.bashrcexport PATH=/usr/loca/sbin:/usr/sb
给定一个定义类的字符串,比如“package com.teasp.compile; public class Test{ public static void main(String[] args){System.out.println(\"compile test.\");} }”,怎么将其转换成Class对象呢?下面的代码可以实现该功能:package com.turnx7.DynamicProxy;import javax.tools.*;import java.lang.reflect.