zoukankan      html  css  js  c++  java
  • 微信(十一) 使用调试助手申请设备ID和报备流程

    以下流程模拟了一个设备,从微信硬件申请一个产品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 >!",
        }
        
        
    }
    

      

  • 相关阅读:
    彻底解决Spring MVC 中文乱码 问题
    侯捷 c++面向对象程序设计
    folly学习心得(转)
    vcpkg —— VC++ 打包工具
    Windows下安装GCC
    Linux下编写 makefile 详细教程
    侯捷stl学习笔记链接
    《Effective C++(第三版)》-笔记
    CentOS 7 安装Boost 1.61
    Windbg查看w3wp进程占用的内存及.NET内存泄露,死锁分析
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/11479308.html
Copyright © 2011-2022 走看看