作者:重庆互联网小徐 发布时间:2024-12-10 浏览:14072 赞(5837) 收藏 评论(0)
Smart Home Skill API遵循OAuth2.0规范。 从Smart Home Skill API发送到技能适配器的每个请求都包含OAuth访问令牌。 此外,任何可云控设备的设备云都必须支持 授权码授权模式。 确保实施OAuth的第三方提供商已经将分配给智能家居技能的OAuth重定向地址添加到白名单中。 您可以在开发人员门户上的应用程序的配置页面上找到此URL。 要了解有关腾讯小微身份验证如何工作的更多信息,请参阅{文档待定}。
用户在厂商提供的授权url(在注册技能时填写)登录自己的厂商账号,完成授权处理,技能适配器厂商收到请求处理完毕后,调用redirect_uri,并返回授权码给小微. redirect_uri示例:https://xiaowei.weixin.qq.com/api/iot/xw_iot_third_party&scope=&state=3624673158dab4796-fa37-1441-57b0-9c5139518006
向技能适配器厂商的access_token_uri地址发送post请求以获取acces token,Content-Type 为application/json。请求参数为grant_type、client_id、client_secret、code、redirect_uri 一个access token 请求参数示例:
access_token_uri: https://xx.xxxxxxx.com/app/oauth.reqaccess { "client_id": "L40KnWmoJWRjrwY8sHj****", "client_secret": "KPltGeJqMJeOYHOk05**o***", "code": "8962478_FO4_fwwxqKortx9Oeo1*****", "grant_type": "authorization_code", "redirect_uri": "" }
向技能适配器厂商的access_token_uri地址发送post请求以刷新token,Content-Type 为application/json。请求参数为grant_type、client_id、client_secret、refresh_token 刷新token请求参数示例:
access_token_uri: https://xx.xxxxxxx.com/app/oauth.reqaccess { "client_id": "L40KnWmoJWRjrwY8sHj****", "client_secret": "KPltGeJqMJeOYHOk05**o***", "grant_type": "refresh_token", "refresh_token": "*********" }
服务厂商返回access token,包含字段为refresh_token、expires_in、access_token 返回数据示例:
{ "refresh_token": "8962478_FO4_EZBuGz0sp2vqEq*******", "expires_in": 15552000, "access_token": "8962478_FO4_EZBuGz0sp2vqEqx*******" }
小微侧进行接口鉴权,厂商在请求小微接口之前,必须获取token。token有效期一般为72000,如果token过期,需要再次调用获取token接口,重新获取有效token.
获取token接口地址
https://cloudim.weixin.qq.com/cloudim/cloudxw-bin/xwapi/iot/xw_iot_brand_token
Head说明:
参数名称 | 值 |
---|---|
Content-Type | application/json |
{ "xw_transfer_req": { "iot_req": { "secret": "6fbe1772dcf2912267abf7e833675a56", //为sha256(secret+appid+当前时间戳) "appid": 40, "comm_type": 14, //必须为14 "timestamp": "1580533086" } } }
说明
属性 | 描述 | 是否必需 |
---|---|---|
xw_transfer_req.iot_req.secret | secret由腾讯小微智能家居平台发放,此字段值为sha256(secret+appid+当前时间戳)值 | 是 |
xw_transfer_req.iot_req.appid | 由腾讯小微智能家居平台发放,获取token必须 int型 | 是 |
xw_transfer_req.iot_req.comm_type | 必须为14 | 是 |
xw_transfer_req.iot_req.timestamp | 当前时间戳 | 是 |
{ "code": 0, "acccessToken": "string", "expires_in": 72000, "msg": "获取token成功" }
说明
属性 | 描述 | 是否必需 |
---|---|---|
code | 返回的状态码,0:成功, 1: 获取token失败:缺少必要参数或者格式错误,2: 获取token失败,6:系统错误 | 是 |
acccessToken | 返回的token数据。 | 是 |
expires_in | 有效时间。 | 是 |
msg | 提示信息。当code为0时,提示"获取token成功"。当code为1时,提示"获取token失败:缺少必要参数或者格式错误",当code为2时,获取token失败。当code为6时,系统错误。 | 是 |
强烈建议选择跳转开发者自有智能家居小程序来完成用户授权。可让用户更短的路径完成授权。
如采用跳转web授权页面来完成用户授权,需要在原有厂商技能用户授权登录页的授权域名根目录下,放置 《小微认证文件》(对应文件名和内容都不可更改),并发送邮件到 xiaowei_smarthome@tencent.com 申请开通对应的授权URL地址的访问,以确保能在腾讯小微小程序中正常打开。
重庆互联网项目从2004年开始为各行各业提供互联网发展解决方案,专业从事网站、小程序、微信公众号、APP、电商平台、系统等互联网平台开发,帮助企业实现从传统行业到互联网的完美转型。截止目前,重庆互联网合作的企业遍布全国各地,20年的开发经验和完善的售后服务体系获得合作客户的高度认可!
关注重庆互联网官方公众号,即可获取粉丝专享福利!
欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!