目录

获取微信硬件设备二维码和设备id(deviceId)

2017年11月04日 08:40 | 6894次浏览 作者原创 版权保护

获取设备deviceId和设备二维码接口,微信官方开发文档坑爹啊,坑爹啊,坑爹啊,重要的事说三遍,翻遍了官方文档也没找到这个接口,记得在初步接触微信硬件设备的时候是有这个接口的,目前为止我是没找到这个接口的链接地址在哪里,咱们来看看这个接口的庐山真面目,还是坑爹的微信官方文档给的,尼玛,只有一张图片,如下:

看准了,这是微信官方文档给的图片,不是我截图的,连返回参数说明都没有,真坑爹(有可能有反正我是没找到),上面产品编号 就是我们在上一篇介绍的添加产品后,产品列表中已分配的产品号

二、调用接口获取设备deviceId和二维码(直接上代码吧)

package com.wepayweb.weixin.util.device;
/***
 * V型知识库 www.vxzsk.com
 */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class DeviceTest {
     
    public static String sendGet(String url, String charset, int timeout)
      {
        String result = "";
        try
        {
          URL u = new URL(url);
          try
          {
            URLConnection conn = u.openConnection();
            conn.connect();
            conn.setConnectTimeout(timeout);
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset));
            String line="";
            while ((line = in.readLine()) != null)
            {
             
              result = result + line;
            }
            in.close();
          } catch (IOException e) {
            return result;
          }
        }
        catch (MalformedURLException e)
        {
          return result;
        }
         
        return result;
      }
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String access_token="";//
        String product_id="";
        String data = DeviceTest.sendGet("https://api.weixin.qq.com/device/getqrcode?access_token="+access_token+"&product_id="+product_id, "utf-8", 30000);
        System.out.println("获取设备的deviceid和二维码:"+data);
    }
 
}

上述代码直接复制,运行main方法即可,不过在运行之前,main方法中的两个参数要填写正确,access_token和product_id,access_token请参考https://www.vxzsk.com/28.html 在这里我不在累述,product_id 为产品编号。

正确的接口返回

{"base_resp":{"errcode":0,"errmsg":"ok"},"deviceid":"gh_1755c346b0b9_004cb738ac631af0","qrticket":"http:\/\/we.qq.com\/d\/AQ2DBteOl389f6b19HSo_uPMm-7ubPTjFztb-iCSa"}

deviceId,上述json返回里面已经含有了,但是设备的二维码呢,微信又开始坑爹了啊,原来qrticket这个字段就是二维码,那么我们把这个字段的值复制出来,然后百度二维码生成器,把连接复制到生成器里点击生成即可生成图片样式的二维码,操作如下:

上图的连接 微信坑爹,链接中的"\"一定要去掉,去掉,去掉啊,又被坑一次。

好了,到此我们已经获取到蓝牙设备的deviceid和二维码了,特别说明:我们这里生成的deviceid并不是硬件厂商给设备烧制的id而是微信公众平台自行给我们生成的设备id 和硬件厂商烧制的并不是同一个id。

提醒读者,生成设备的二维码图片不要急于打开微信和手机蓝牙,扫描绑定设备连接,因为我们只是生成了设备的二维码和id而已,即使绑定设备后,也是无法和设备的进行蓝牙连接的,因为我们还未给设备授权。

读者朋友们,别急着扫描绑定哈,还有一个重要的步骤咱们还没做完,就是设备授权下一节将会讲解设备授权,敬请期待!



此文章本站原创,地址 https://www.vxzsk.com/288.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程