对接天猫精灵X1 (https 的申请)
1 起因
公司是做智能家居的,最近公司要求对接天猫精灵的智能家居功能,所以就来对接天猫精灵X1 了。
新产品,大家都懂的,坑是有不少的,正常事。
1 首先,语言是 c#,不要和我讲 php 是世界最好的语言,语言只是一种具体实现的工具,重点是你的思维,你有没有这种想法。
2 其次,官方文档一定要看。
3 既然是 c# ,用的是 .net framework 4.5 ,
2. 对接
自己在对接的时候,没查到相关的资料,只查到一个 PHP 版的相关资料,认真看了下,参考了一下,但帮助不是很大,这点很烦,
还是自己实际操作来得实在。
1 根据官方的 技能发布流程 得知,我们至少要有一台 天猫精灵X1 ,下个 天猫精灵APP ,完成配网先,进入 官方的控制台 ,创建 智能家居 技能。然后先随便填写 技能的基本信息,为了测试,技能我直接写了 测试功能 。
2 点下一步,重点来了,要我们输入 账户授权连接、Client ID、Client Secret、 Access Token URL、厂商登出 URL 这几个东西了,先随便填写信息上去,保存。等我们把授权平台搭建好了,再回头来填写正确的。如下图:
现在我们就遇到了几个问题:
1.对外的服务器。
2.SSL证书 要通过认证的,不认证,天猫直接拒绝访问。
3.搭建授权平台。
问题1:服务器:
域名、服务器这个问题就自己看着办吧。
现在假设你有一个域名,并且拥有了一个服务器了。
问题2:SSL 证书的申请
此文章只讲怎么得到免费的 https 认证吧,实际用的时候,公司准备去买收费的 SSL 证书,这个我就不考虑,这儿只讲免费的SSL。
SSL 证书申请地址:https://www.sslforfree.com/
上来就能直接看到大大的提示,输入你的站点:
接下来会到另一个确认页,有3种选项,第一个是FTP自动认证(这个没试过),第二个手动认证,第三个手动认证(通过DNS,也没试过)我们选中间的,手动认证。点击之后,再点击 Manually Verify Domain 。
下载 检验文件,在你的域名下的根目录创建文件夹(".well-known."),再进入 ".well-known." 文件夹中再创建文件夹("acme-challenge"),然后把下载到的文件(就是下图中的 1. Download File #1 ,点击之后下载到的文件)放进 "acme-challenge"文件夹中。接下来就是访问它给出的地址,,由于我们用是 IIS,所以还要配置一下,添加 mine 类型,扩展名: . Mine 类型填: text/plain .然后就OK了。
如果通过验证后,就会开始为生成申请网站 SSL 凭证。当凭证生成后,可以看到[Get Notified of Expiration],因为申请的凭证有效期只有90天,所以可以在此设定一组 Email 和密码,可以在凭证过期前(一周左右)得到通知,以免错过延长(renew)时间。
点击 Download All SSL Certificate Files 下载证书。
下载完,有3个文件:ca_bundle.crt,certificate.crt,private.key
但我们不能直接用来导入IIS中使用,可以自己下个 open-ssl 去合成可用的。但我这儿偷懒了下,在 https://www.myssl.cn/tools/merge-pfx-cert.html 上面,把它合成了 ssl.pfx 。接下来就是导入 IIS 中,配置一下站点的 https 证书,访问一下,谷歌浏览器 的地址栏会告诉你它是否是安全的。https 就这样解决了。
问题3:授权平台。
等我下一篇文章再来介绍 OAuth 授权平台怎么搞。
吐槽一下,2018年5月31日15:55:18,本来今天是能对接完成的,但 阿里的真机测试 好像出了问题,今天的账户授权 按钮都没了,昨天下午6点多还是正常的,今天来上班之后就不见了,早上反馈到现在还没修复,也没给出个所以然来。
对接天猫精灵X1 (https 的申请)的更多相关文章
- (一) 天猫精灵接入Home Assistant- hass对接天猫精灵
1如何利用论坛的认证服务器对接天猫精灵 说起天猫精灵的接入,最早是由c1pher(25989406)大神通过开发自定义技能接入,后面qebabe大神进行了改进,可以直接通过HASS API读取hass ...
- 天猫精灵X1智能音箱使用感想
11.22音箱到手,等了刚好一个月. 主要是测评语音交互功能. 测试条件:正宗普通话. 1)问天气.温度:表现良好.2)找手机功能:试了多次,每次都说手机号码格式不对3)小孩听故事:正常.但是开头会有 ...
- 天猫精灵对接1:outh对接
公司的智能家居产品需要接入语音控制,目前在对接阿里语音的天猫精灵 对接天猫精灵的第一步是完成outh鉴权 https://doc-bot.tmall.com/docs/doc.htm?spm=0.76 ...
- 天猫精灵对接2(OAuth 搭建)
根据 接入方式及流程 中的说明,可知,搭建过程中,我们需要自己整一个 OAuth 的授权平台,具体说明可以参考蟋蟀大哥的文章 ASP.NET WebApi OWIN 实现 OAuth 2.0 ,我的 ...
- (零 ) 天猫精灵接入Home Assistant-总说明
天猫精灵设备管理 https://bbs.hassbian.com/tmall 自己的hass访问地址 http://[自己的IP或域名]:8123/states 自己的MQTT服务器访问 http: ...
- 接入天猫精灵auth2授权页面https发送ajax请求
已存在一个应用A,采用的是http交互, 在接入天猫精灵时,要求请求类型是https,所以在应用服务前加了个nginx转发https请求.在绑定授权页面,会发送ajax请求验证用户名和密码,采用htt ...
- (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战
#本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...
- (二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇
官网:https://www.home-assistant.io/components/fan.mqtt/ 1 添加配置文件 要在安装中启用MQTT风扇,请将以下内容添加到您的configuratio ...
- 【阿里云IoT+YF3300】16.云端一体化,天猫精灵操控YF3300
“你好天猫精灵”,“主人有什么吩咐”,“打开灯”,“好的,灯已打开”.对于这样的对话应该大多数人都很熟悉,这就是智能家居的缩影.对于现在市面上层出不穷的智能家居系统,功能越来越繁杂,可是因为开发难度高 ...
随机推荐
- openstack核心组件——cinder存储服务(11)
一.cinder 介绍: 理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区.格式化.创建文件系 ...
- (jvm调优)一、linux内存查看命令
转载自https://blog.csdn.net/dongzhongyan/article/details/80067796 开始学习服务器性能查看以及调优 1.整体情况查看(任务管理器):top 第 ...
- Spring的IOC控制反转和依赖注入-重点-spring核心之一
IoC:Inverse of Control(控制反转): 读作"反转控制",更好理解,不是什么技术,而是一种设计思想,好比于MVC.就是将原本在程序中手动创建对象的控制权,交由S ...
- MiniJpegDecoder使用介绍
承接昨天写的<JPEG软解码实现介绍>,今天介绍其使用方法和一些细节说明. 1.仓库下已经包含了几个jpeg文件,以方便直接校验. 2.使用命令分为两种模式. 一种是直接解码为yuv文件, ...
- 解决flutter 运行时:Waiting for another flutter command to release the startup lock...
执行 Flutter 包管理相关命令时有可能遇到 Waiting for another flutter command to release the startup lock... 这样的错误,可尝 ...
- spring初始(介绍、核心架构)
1.spring介绍 Spring是个java企业级应用的开源开发框架.主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring框架目标是简化Java企业级应用开发,并通 ...
- Centos6.6x系统与unbutu18.04系统升级ssh到8.3版本
Centos6.6升级ssh5.3版本到ssh8.3版本 下载所需要的源码包: ]#wget https://files-cdn.cnblogs.com/files/luckjinyan/zlib-1 ...
- Book of Shaders 04 - 网格噪声:Worley Noise
0x00 思路 假设要生成 4 个网格,可以先在空间中指定 4 个特征点.对于每个像素点,计算它到最近特征点的距离,将这个距离当作结果值输出. #ifdef GL_ES precision mediu ...
- Java知识系统回顾整理01基础05控制流程07结束外部循环
一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...
- 《C++primerplus》第12章“队列模拟”程序
这个程序刚开始学有很多难点,个人认为主要有以下三项: 1.链表的概念 2.如何表示顾客随机到达的过程 3.程序执行时两类之间的关系,即执行逻辑 关于第一点,书上的图解释得比较清楚了,把"空指 ...