以下流程模拟了一个设备,从微信硬件申请一个产品IP,对此ID进行报备生效,查询自己的绑定主人,给绑定主人发送消息的一系列http请求流程。
1 获取微信密钥
下面需要在公众号设备电脑IP白名单的电脑才能访问成功。 (公众号-开发者选择项)
正常应该是自己的服务器(IP加入白名单)写个脚本每两个小时向微信服务器请求一次,保存在自己的服务器txt里面,然后我们统一去txt(数据库也行)拿,避免多个设备重复申请密钥造成失效和使用次数用尽。
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx4ccfdb6e5d7775fa&secret=010745d29f2179d9dafe2d7798c483c7
2 获取分配一个新的设备ID
https://api.weixin.qq.com/device/getqrcode?access_token=25_vLLTmbfSZjMoZAS94915GYrUddEUbRjVJzBGXZDPqE-HVGL5VU9XjX0V03gHabA5hyutrlj2UInLL2Kyg52HxWwggjPEeLbC81hq_KDIkckO7nh1w0e_Wpb04jwQRWiAFABCH&product_id=52715
步骤2里面生成了一个设备ID和设备的二维码网址,ID用来当每个设备的产品ID,二维码链接用来生成二维码使得用户公众号扫描绑定设备。
但是设备还没有注册和报备,暂时不能用,需要经过3步骤才可以在使用。
3 设备注册和授权
https://api.weixin.qq.com/device/authorize_device?access_token=25_vLLTmbfSZjMoZAS94915GYrUddEUbRjVJzBGXZDPqE-HVGL5VU9XjX0V03gHabA5hyutrlj2UInLL2Kyg52HxWwggjPEeLbC81hq_KDIkckO7nh1w0e_Wpb04jwQRWiAFABCH
{ "device_num": "1", "device_list": [ { "id": "gh_e93c1b3098b9_cc9b2685cee91b87", "mac": "28-D2-44-5B-AB-35", "connect_protocol": "4", "auth_key": "", "close_strategy": "1", "conn_strategy": "1", "crypt_method": "0", "auth_ver": "0", "manu_mac_pos": "-1", "ser_mac_pos": "-2", "ble_simple_protocol": "0" } ], "op_type": "0", "product_id": "52715" }
接收到
{ "resp": [ { "base_info": { "device_type": "gh_e93c1b3098b9", "device_id": "gh_e93c1b3098b9_cc9b2685cee91b87" }, "errcode": 100008, "errmsg": "mac invalid" } ] }
回到步骤2里面,微信返回了一个设备ID和设备的二维码网址,ID用来当每个设备的产品ID,二维码链接用来生成二维码使得用户公众号扫描绑定设备。
"deviceid": "gh_e93c1b3098b9_cc9b2685cee91b87", "qrticket":"http://we.qq.com/d/AQCCdUjol1e2RkGSXWepv_1QFWq9HJabtaerktSK"
3-1硬件设备。将这个设备ID和设备类型贴在ESP8266(或者别的芯片)的代码里,每个设备都有唯一一个。
"device_type": "gh_e93c1b3098b9" "device_id": "gh_e93c1b3098b9_cc9b2685cee91b87"
3-2用户微信绑定设备。
"qrticket":"http://we.qq.com/d/AQCCdUjol1e2RkGSXWepv_1QFWq9HJabtaerktSK"
在草料二维码里面生成二维码,这个二维码贴在设备身上,供用户微信扫描。
之后看到微信公众号-我的设备-多出一个设备
4 微信查询设备绑定的主人(可以有多个人)
https://api.weixin.qq.com/device/get_openid?access_token=19_qLywZOTSRQsE3NhNthVSL-MCFtpgC26QZZlard0yjaXAxW3G3TtNCnoTneMQrQtK-CcpjsruX084iVuLFBsuVRmJJgYKCSlJhcASOH5To_dHPe7jPj30HpGBIif22Pn3be77Hu8Z56KVs8LTOREbAIAYB1&device_type=gh_e93c1b3098b9&device_id=gh_e93c1b3098b9_dae1c2072212185c
5 给用户发消息
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=19_uIzAk_rDxS4CLZoAk5016hvXmrjGw-jnH3zPQnZwnZhcw_H7PpfQvWl2KX4vZtl5ykxCJKiRk5ED-rSZs88g-cvq2qkHFKEwSh8ga_phKkg8VNfJbf_u8oB2R7cGhksmBUXpukZ6UhyM729BWXYhAIAPQR
{ "touser":"ognVI6GpDeseo6Qe_S7hGPgwlt8E", "msgtype":"text", "text": { "content":"文本内容<a href=http://www.qq.com >!", } }
原文地址:https://www.cnblogs.com/kekeoutlook/p/11479308.html
时间: 2024-10-10 05:43:08