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 的申请)的更多相关文章

  1. (一) 天猫精灵接入Home Assistant- hass对接天猫精灵

    1如何利用论坛的认证服务器对接天猫精灵 说起天猫精灵的接入,最早是由c1pher(25989406)大神通过开发自定义技能接入,后面qebabe大神进行了改进,可以直接通过HASS API读取hass ...

  2. 天猫精灵X1智能音箱使用感想

    11.22音箱到手,等了刚好一个月. 主要是测评语音交互功能. 测试条件:正宗普通话. 1)问天气.温度:表现良好.2)找手机功能:试了多次,每次都说手机号码格式不对3)小孩听故事:正常.但是开头会有 ...

  3. 天猫精灵对接1:outh对接

    公司的智能家居产品需要接入语音控制,目前在对接阿里语音的天猫精灵 对接天猫精灵的第一步是完成outh鉴权 https://doc-bot.tmall.com/docs/doc.htm?spm=0.76 ...

  4. 天猫精灵对接2(OAuth 搭建)

    根据 接入方式及流程 中的说明,可知,搭建过程中,我们需要自己整一个 OAuth 的授权平台,具体说明可以参考蟋蟀大哥的文章  ASP.NET WebApi OWIN 实现 OAuth 2.0 ,我的 ...

  5. (零 ) 天猫精灵接入Home Assistant-总说明

    天猫精灵设备管理 https://bbs.hassbian.com/tmall 自己的hass访问地址 http://[自己的IP或域名]:8123/states 自己的MQTT服务器访问 http: ...

  6. 接入天猫精灵auth2授权页面https发送ajax请求

    已存在一个应用A,采用的是http交互, 在接入天猫精灵时,要求请求类型是https,所以在应用服务前加了个nginx转发https请求.在绑定授权页面,会发送ajax请求验证用户名和密码,采用htt ...

  7. (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  8. (二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇

    官网:https://www.home-assistant.io/components/fan.mqtt/ 1 添加配置文件 要在安装中启用MQTT风扇,请将以下内容添加到您的configuratio ...

  9. 【阿里云IoT+YF3300】16.云端一体化,天猫精灵操控YF3300

    “你好天猫精灵”,“主人有什么吩咐”,“打开灯”,“好的,灯已打开”.对于这样的对话应该大多数人都很熟悉,这就是智能家居的缩影.对于现在市面上层出不穷的智能家居系统,功能越来越繁杂,可是因为开发难度高 ...

随机推荐

  1. 图灵机器人api的使用方法含微信版本和网页版

    访问图灵机器人官网http://www.tuling123.com/ 注册一个新的机器人账号 注册成功后转到主页 点击我的机器人>创建机器人>微信机器人 填写基本信息 点击微信介入> ...

  2. 基于DDD+微服务的开发实战(1)

    1 DDD是什么? DDD是领域驱动设计,是Eric Evans于2003年提出的,离现在有17年. 2 为什么需要DDD 当软件越来越复杂,实际开发中,大量的业务逻辑堆积在一个巨型类中的例子屡见不鲜 ...

  3. 10.Atomic-原子性操作

  4. GO练习题

    package main import( "fmt" ) func list(n int) { for i := 0; i <= n; i++ { fmt.Printf(&q ...

  5. 20行代码实现,使用Tarjan算法求解强连通分量

    今天是算法数据结构专题的第36篇文章,我们一起来继续聊聊强连通分量分解的算法. 在上一篇文章当中我们分享了强连通分量分解的一个经典算法Kosaraju算法,它的核心原理是通过将图翻转,以及两次递归来实 ...

  6. 运行时数据区--程序计数器(PC Register)

    程序计数器(PC Register) 这里的计数器(Program Counter Register)并非为广义上所指的物理寄存器,JVM中的PC寄存器(程序计数器)是对物理PC寄存器的一种抽象模拟, ...

  7. 安装MySQL和出现的问题解决

    在Windows下安装mysql,注意自己的Windows是32位还是64位. MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 下载完之后,解压放 ...

  8. python环境变量的安装与配置

    安装最新的3.x(2.x如今已经不常见) 下图来源:百度(电脑已安装,不能重复) 一定要勾选"Add Python 3.6 to PATH".(如果没有勾选在安装完成后需要手动添加 ...

  9. Android捕捉错误try catch 的简单使用

    基本语法 try{ //可能发生错误的程式码 }catch(具体错误 e){ //具体错误有就写,没有就不写,有多个,就写多个catch e.printStackTrace(); //在命令行打印错误 ...

  10. 这么美的“vector容器”,你确定你不看吗?

    内容思维导图: 一.vector基本概念: 1.功能: vector数据结构和数组非常相似,也称为单端数组. 2.vector和普通数组的区别: 不同之处在于数组是静态空间,而vector是可以动态扩 ...