微信公众号获取临时二维码

  我们做微信公众号开发时为了推广,可能需要服务端去生成公众号的临时二维码,然后再进行一定的图片合成操作,制作一张漂亮的推广海报。别人扫一下二维码进入关注公众号界面,点击关注我们可以拿到二维码里面的信息官网地址

  记录一下获取临时二维码操作过程。

  1.获取access_token 上一篇博客写了 就不赘述了;

  2.根据access_token获取二维码ticket,获取到了二维码ticket就基本山是成功了;

  3.通过ticket换取二维码,其实就是拼接url和ticket。

public class WeChatQRCodeTest {
    public static void main(String[] args) {

        String qrcodeUrl = "";
        try {
            String accessToken = "15_Yws71Wr-Fk9DW5acDWvyn3YWTfp_jkuBxCl8Hue5hRrB064FVrYSPZgNqdxpw1WKVbp0c7DIerwzGa2iuJDI2er3q7ntf" +
                    "WNteHZbpSXwCLnUh0p16UQvUhisKKqTrPAMQQdHXklTywmQ6L8MVKNiAJAAPS";
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("expire_seconds", 2592000);
            jsonObject.put("action_name", "QR_STR_SCENE");

            JSONObject actionInfo = new JSONObject();
            JSONObject scene = new JSONObject();
            scene.put("scene_str", "二维码中携带的信息");
            actionInfo.put("scene", scene);
            jsonObject.put("action_info", actionInfo);

            String url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + accessToken;
            String result = HttpClientUtil.doPostJson(url, jsonObject.toJSONString());
            JSONObject resultJson = JSONObject.parseObject(result);
            String ticket = resultJson.getString("ticket");

            /**
             * 实际应用中可以根据过期时间服务器存储ticket
             */
            Integer expire_seconds = resultJson.getInteger("expire_seconds");

            qrcodeUrl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + URLEncoder.encode(ticket, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        System.out.println(qrcodeUrl);
    }
}

  代码如上,这里HttpClientUtil即上篇博客的HttpClientUtil,access_token是获取到写死的,单接口测试 可以使用微信提供的网页测试工具获取。

  scene_str里面对应的值即我们需要携带在二维码中的信息。  

猜你喜欢

转载自blog.csdn.net/qq_26400953/article/details/84138732