Java 微信开发(四)生成带参数二维码及分享到朋友圈、好友、QQ

微信公众号中的微信分享到朋友圈、分享到QQ、分享到好友功能都是可以帮助营销活动支持的,今天就说一下公众号生成带参数的二维码分享到朋友圈功能

根据微信公众号提供的开发者文档我们可以看出提供的有方法,我们第一步就要先获取附录1的jsapi_ticket,直接写代码了

他的获取方式和我之前写的获取access_token方法很相似

get请求获取https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

 

[java] view plain copy

  1. /** 
  2.      * 获取js调用微信接口的门票 
  3.      * @param access_token 
  4.      * @throws Exception 
  5.      * json中的ticket就是微信js接口的临时票据 
  6.      */  
  7.     public static synchronized void getJsApiTicket(String access_token) throws Exception {  
  8.         if (JSAPI_TICKET == null || System.currentTimeMillis() - LASTTOKENTIME_FOR_JSAPI_TICKET > 7000*1000) {  
  9.             String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="  
  10.                     + access_token + "&type=jsapi";  
  11.             HttpClient httpClient = new DefaultHttpClient();  
  12.             HttpResponse resp = httpClient.execute(new HttpGet(url));  
  13.             if (HttpStatus.SC_OK == resp.getStatusLine().getStatusCode()) {  
  14.                 JSONObject jsonObject = new JSONObject(EntityUtils.toString(  
  15.                         resp.getEntity(), "utf-8"));  
  16.                 JSAPI_TICKET = jsonObject.getString("ticket");  
  17.                 LASTTOKENTIME_FOR_JSAPI_TICKET = System.currentTimeMillis();  
  18.             }  
  19.         }  
  20.     }  

当我拿到JSAPI_TICKET之后就要进行签名的算法了

 



我们要获取一个带有参数的二维码,这个时候二维码分为两种情况

 

目前有2种类型的二维码:

1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景
2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

临时二维码请求说明

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}}}

 

或者也可以使用以下POST数据创建字符串形式的二维码参数:
{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

永久二维码请求说明

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": "test"}}}

官网中有一句话很重要

创建二维码ticket

每次创建二维码ticket需要提供一个开发者自行设定的参数(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程。

参数说明

参数 说明
expire_seconds 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。
action_name 二维码类型,QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值,QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值
action_info 二维码详细信息
scene_id 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
scene_str 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64  

 

返回说明

正确的Json返回结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值