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点多还是正常的,今天来上班之后就不见了,早上反馈到现在还没修复,也没给出个所以然来。
原文地址:https://www.cnblogs.com/Frank-Jan/p/9117923.html