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

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

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

  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里面对应的值即我们需要携带在二维码中的信息。  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游语

对你有帮助,可以请我喝杯奶哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值