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. 将ImageMagic库编译进nginx

    1.首先要将ImageMagick库的相应头文件加到环境变量中 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/ImageMagick/include ...

  2. 【开发总结】order by 为什么没有走索引?

    1.  现象 表结构如下 CREATE TABLE `ACT_HI_INST` ( `ID` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '主键', ` ...

  3. Java内部类使用场景和作用

    一.Java内部类的分类 Java内部类一般包括四种:成员内部类.局部内部类.匿名内部类和静态内部类 大多数业务需求,不使用内部类都可以解决,那为什么Java还要设计内部类呢. 二.内部类的使用场景 ...

  4. python常用sys模块

    sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在处理的异常类,exc_typ ...

  5. 搜索引擎学习(六)Query的子类查询

    Query的子类查询 PS:这是通用代码,下面的子类查询调用到的时候就不再写这部分的具体的实现过程了 /** * 构造IndexSearcher对象 * * @return * @throws Exc ...

  6. JS实现简单的多选选项的全选反选按钮

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <!-- 5 需求: 6 1.写三个按钮: ...

  7. MATLAB 安装

    参考:  链接1    链接2 重要: 1.秘钥:09806-07443-53955-64350-21751-41297 2.在安装目录下替换 bin

  8. C#方法Extra

    C#方法Extra 上次说的只是方法的一些基本东西,今天讲讲重载和 Lambda 表达式. 重载 方法的重载(overload)指的是同一个名字的方法,有着不一样的方法签名(method signat ...

  9. Git入门教程,详解Git文件的四大状态

    大家好,欢迎来到周一git专题. git clone 在上一篇文章当中我们聊了怎么在github当中创建一个属于自己的项目(repository),简称repo.除了建立自己的repo之外,我们更多的 ...

  10. GUI应用编程初体验

    不同平台的GUI实现原理是一样的. 本实验基于 windos平台. 先捋一捋概念 什么是消息队列(Message Queue)假 设一个场景:系统正在处理WM_PAINT消息,就在这时用户在键盘上敲击 ...