微信公众号怎么进行设备授权?我们在添加微信公众号设备的时候,是需要进行授权的,授权的过程比较简单,但是要获取相关的信息就比较复杂,下面随小编一起看看微信公众号怎么进行设备授权?
微信公众号怎么进行设备授权?
为了简化第三方厂商的生产流程,降低接入微信的门槛,公众平台提供了新的设备授权接口。新接口中,deviceid由微信生成,作为设备在微信平台的唯一标识,第三方不需要在固件中烧入deviceid。
设备授权流程如下:
从以上的流程图可以看出,这里就需要两个操作,获取deviceid和设备二维码和利用deviceid更新设备属性,完成之后,我们的微信公众号对设备授权就完成了。
获取deviceid和设备二维码:
接口调用请求说明:
http请求方式: GET
https://api.weixin.qq.com/device/getqrcode?access_token=ACCESS_TOKEN&product_id=PRODUCT_ID
参数说明:
【注意】:
device_id由公众平台生成,是设备的唯一标识,且与二维码(qrticket字段)存在对应关系。
【第三方厂商在二维码中追加自定数据】
公众平台返回的二维码生成串形式如: http://we.qq.com/d/QRCODE_TICKET(其中QRCODE_TICKET是微信生产的二维码ticket),第三方可以自行选择是否在公众平台返回的二维码的基础之上追加自定义的数据,是否追加自定义数据是可选的,由第三方自行决定。
追加自定义数据的方法:在公众平台的二维码后追加#3RD_DEFINE_DATA(其中,#作为分隔符,3RD_DEFINE_DATA是第三方自定义数据),追加后的二维码形式如:http://we.qq.com/d/QRCODE_TICKET#3RD_DEFINE_DATA 。
在用户扫描绑定设备的时候,公众平台会把二维码中的3RD_DEFINE_DATA使用base64编码,放到bind消息中,推送给第三方。
利用deviceid更新设备属性:
第三方公众账号将device id及其属性信息提交公众平台进行授权。
接口调用请求说明
http请求方式: POST
https://api.weixin.qq.com/device/authorize_device?access_token=ACCESS_TOKEN
【注意】:
1、 第三方调用该服务,需要拥有设备功能权限
2、 建议id字段为英文字母、下划线、数字三类字符的串或者组合,不带其他标点符号,以免json串解析失败
3、 connec_protocol为设备连接的协议类型,目前有四种连接方式(见字段说明),可以支持四种连接方式的任意组合,并且可以设置客户端优先选择的连接方式,客户端会优先选择该连接方式进行连接,若制定的优先协议无法连接成功,客户端回尝试指定的其他协议方式连接;其他类型可以后续再添加,请第三方同学确保值有效
4、 conn_strategy连接策略,按位进行定义取值(第2bit不能置位;所有bit均不置位也不支持,即取值为 0),譬如手环类产品,可能需要及时同步数据,可以填5,表示在公众号对话页面,不停的尝试连接设备(取值1),并且处于非公众号页面时,微信有机会去连接设备,保证数据能及时同步(取值4)
5、 crypt_method目前支持取值为0和1,对于计算能力弱的设备可以设置为0(不进行加密处理,此时auth_ver也需要为0),目前的加密方法只支持AES
6、 auth_ver目前只支持取值为0或1,不同的取值会影响“设备---微信---后台”的auth过程的数据包的格式,具体的取值请参看“客户端蓝牙外设协议”,并且,如果不需要加密,则crypt_method和auth_ver都需要为0,
7、 对于ios蓝牙2.0和4.0设备,微信客户端做了连接建立的弹框优化操作:对于ios蓝牙4.0协议,广播包必须带上mac地址,即:manu_mac_pos必须设置(且为-1,非ios蓝牙4.0设备才可以设置为-2);对于ios蓝牙2.0协议,iap的accessory Info的serial number可以不带mac地址,ser_mac_pos设置为-2,也可以在尾部带上mac地址,设置有效(-1),对于除以上两种协议以外的其他协议,该两个值的设置均无效,可以设置为0
微信公众号怎么进行设备授权?的相关教程就介绍到这里了,这里简单的介绍了一下,详细的内容可以去微信官网的微信硬件平台查阅,感谢大家的阅读,更多微信素材,欢迎关注素材网。
相关推荐:
微信公众号怎么申请设备功能?
微信营销设备之微信打印机
微信蓝牙设备开发流程