java微信生成帶引數的二維碼
阿新 • • 發佈:2018-12-31
生成帶引數的二維碼
為了滿足使用者渠道推廣分析和使用者帳號繫結等場景的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。
目前有2種類型的二維碼:
1、臨時二維碼,是有過期時間的,最長可以設定為在二維碼生成後的30天(即2592000秒)後過期
2、永久二維碼,是無過期時間的,但數量較少(目前為最多10萬個)。永久二維碼主要用於適用於帳號繫結、使用者來源統計等場景。
本次要實現的是第2種 :永久二維碼
建立二維碼ticket
String codeUrl =
https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=accessToken
String param = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \""+openId+"\"}}}";
JSONObject returnData = HttpClientTools.doPost(codeUrl, param);
logger.error("獲取微信生成帶引數的二維碼ticket引數========================" + returnData + "==========================");
//建立二維碼ticket
String ticket = returnData.get("ticket").toString();
把ticket 傳到頁面
通過ticket換取二維碼
獲取二維碼ticket後,開發者可用ticket換取二維碼圖片。請注意,本介面無須登入態即可呼叫。
在jsp裡面 呼叫
window.onload=function show2dBarCode(){
$("#imageId").attr("src","https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="+document.getElementById("ticket").value);
}
<img src="" id="imageId" height="100%"
style="float: right">