文章
2021 Alexa SmartHome Skill 对接(一)搭建
2021 Alexa SmartHome Skill 对接(二)配置及服务对接
2021 Alexa SmartHome Skill 对接(三)对接流程说明
2021 Alexa SmartHome Skill 对接(最终)服务开发
这篇我们会对skill和lambda进行配置,并贴上可能会用到的文档链接,白嫖党直接看项目:
https://github.com/fghjhuang/go-alexa-smarthome
本想着过年前就写好的文章,结果事情太多就没继续了,年后开发任务又起来了,趁早今晚小孩休息了,还有大半个小时更新一下文章。
回归正传,上节我们说到怎么建立alexa skill和建立lambda,他们是通过
1.在skill里面配置lambda的ARN编号。以及
2.在lambda添加alexa拦截器(填写skill的skill id)
来进行关联的。
那么这节课,我们谈一下下一步:skill的account linking;这是最重要的一节课了,看懂了,基本就可以自己弄出一个account linking的skill出来了。
alexa 的account linking主要有2个入口,
1个是从alexa app里面进去skill市场,选择skill,进入skill的website account linking。
1个是从提供服务商,也就是公司的app里面进去关联亚马逊的账号,实现account linking
下面我就这2种方式说明一下怎么进行account linking,篇幅有点长,大家耐心看完。
方式一 从Alexa App进行Account Linking
1.配置alexa skill
我的配置是这样子的:
从alexa app里面skill进行账号关联主要要填写以下几个项目,这几个项目的主要说明如下:
- Your web Auth Uri: 你从alexa app-skill page里面关联第三方的账号时弹出的授权网页的地址,skill跳转的时候会带上一定的参数,然后你的后台就可以根据这些参数生成auth code然后返回;返回方法就是带上你生成的auth code拼在alexa传过来的redirecturi后面进行重定位,参考这里
- Acc Token Uri:你从授权网页取得Auth Code后去拿AccToken的地址,有了AccToken才能对公司的设备进行操作(其实就是一个OAuth2.0的账号功能,通过auth code去拿access token)
- ClientID:clientID和Secret可以是公司账号的一个标识,或者关联其他第三方账号系统,例如google account,facebook account,其中还可以填亚马逊develop里面创建LWA关联账号的clientID和Sectet,这样就可以直接用亚马逊账号登陆关联skill了。
- Secret:
- Scope:这个我的理解是用来区分关联的用户对于设备的操作权限的,但是实际我好像没用到,所以我直接参考LWA的说明填上了profile和postal_code(参考这里)
- Domain list:授权的域名,如果不填有可能redirect uri的时候会跳转失败
2.配置lambda
3.搭建后端对接服务
方式二 从公司App进行Account Linking
1.配置alexa skill
2.配置lambda
3.搭建后端对接服务
遇到的问题
- 可以在网页端登录alexa自己的网站进行测试,不一定非要alexa app:
Alexa网页版
有技术探讨的可以联系我justforjobonly@126.com,虽然忙,但是我喜欢讨论技术