Java实现微信公众号获取临时二维码功能示例

 更新时间:2019年10月25日 09:49:01   作者:游语  
这篇文章主要介绍了Java实现微信公众号获取临时二维码功能,结合实例形式分析了java调用微信公众号接口实现临时二维码生成功能相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java实现微信公众号获取临时二维码功能。分享给大家供大家参考,具体如下:

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

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

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

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程

希望本文所述对大家java程序设计有所帮助。

相关文章

  • java遍历http请求request的所有参数实现方法

    java遍历http请求request的所有参数实现方法

    下面小编就为大家带来一篇java遍历http请求request的所有参数实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • tomcat目录结构简介_动力节点Java学院整理

    tomcat目录结构简介_动力节点Java学院整理

    这篇文章主要介绍了tomcat目录结构简介_动力节点Java学院整理的相关资料,需要的朋友可以参考下
    2017-07-07
  • IDEA的TODO的使用方式

    IDEA的TODO的使用方式

    这篇文章主要介绍了IDEA的TODO的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java中的private、protected、public和default的区别(详解)

    Java中的private、protected、public和default的区别(详解)

    下面小编就为大家带来一篇Java中的private、protected、public和default的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • java执行windows下cmd命令的方法

    java执行windows下cmd命令的方法

    这篇文章主要介绍了java执行windows下cmd命令的方法,较为详细的说明了Java执行Windows下CMD命令的方法,并总结了常用的CMD命令供大家参考,需要的朋友可以参考下
    2014-11-11
  • Java中ArrayList的常见用法示例小结

    Java中ArrayList的常见用法示例小结

    本文介绍了Java的ArrayList,它是一个动态数组,可以自动调整大小,支持添加、删除、获取元素等操作,同时,还讨论了如何存储基本数据类型以及在多线程环境下的使用注意事项,感兴趣的朋友一起看看吧
    2025-02-02
  • java中处理stream.filter()的实例代码

    java中处理stream.filter()的实例代码

    stream()是Java 8中的一个函数式接口,用于处理数据流,它可以从一个数据源,如集合,数组等生成一个流,这篇文章主要给大家介绍了关于java中处理stream.filter()的相关资料,需要的朋友可以参考下
    2024-08-08
  • springboot+log4j.yml配置日志文件的方法

    springboot+log4j.yml配置日志文件的方法

    这篇文章主要介绍了springboot+log4j.yml配置日志文件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Java单例模式利用HashMap实现缓存数据

    Java单例模式利用HashMap实现缓存数据

    这篇文章主要为大家详细介绍了Java单例模式利用HashMap实现缓存数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • mybatisplus如何实现排序

    mybatisplus如何实现排序

    这篇文章主要介绍了mybatisplus如何实现排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论