前言:最近一直在开发微信的东西,总结一下微信生成带参数的二维码。这个其实在参考文章的第一篇总结的非常详细,大家可以参考一下。这里总结一下微信生成带参数二维码的过程和主要开发代码。
注:本文使用RestTemplate提供远程请求,RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法。
参考文章:Spring提供的用于访问Rest服务的客户端:RestTemplate实践
一、微信二维码介绍
目前有2种类型的二维码:
1、临时二维码:是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景
2、永久二维码:是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。
参考文章:生成带参数的二维码
二、创建二维码
创建二维码我们需要先获取access_token,再传入参数,获取ticket或者url得到二维码。
1:获取access_token
2:创建二维码请求说明
2.1 临时二维码请求说明
http请求方式: POST
URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:json
POST数据例子:{
"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {
"scene": {
"scene_id": 123}}}
2.2 永久二维码请求说明
http请求方式: POST
URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:json
POST数据例子:{
"action_name": "QR_LIMIT_SCENE", "action_info": {
"scene": {
"scene_id": 123}}}
或者也可以使用以下POST数据创建字符串形式的二维码参数:
{
"action_name": "QR_LIMIT_STR_SCENE", "action_info": {
"scene": {
"scene_str": "123"}}}
2.3 参数说明
参数 | 说明 |
---|---|
expire_seconds | 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。 |
action_name | 二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久,QR_LIMIT_STR_SCENE为永久的字符串参数值 |
action_info |