Java實現微信公眾號獲取臨時二維碼功能示例
本文實例講述了Java實現微信公眾號獲取臨時二維碼功能。分享給大家供大家參考,具體如下:
我們做微信公眾號開發(fā)時為了推廣,可能需要服務端去生成公眾號的臨時二維碼,然后再進行一定的圖片合成操作,制作一張漂亮的推廣海報。別人掃一下二維碼進入關注公眾號界面,點擊關注我們可以拿到二維碼里面的信息官網地址
記錄一下獲取臨時二維碼操作過程。
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程序設計有所幫助。
相關文章
Spring Boot中配置定時任務、線程池與多線程池執(zhí)行的方法
這篇文章主要給大家介紹了關于Spring Boot中配置定時任務、線程池與多線程池執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09SpringCloud基于RestTemplate微服務項目案例解析
這篇文章主要介紹了SpringCloud基于RestTemplate微服務項目案例,在寫SpringCloud搭建微服務之前,先搭建一個不通過springcloud只通過SpringBoot和Mybatis進行模塊之間通訊,通過一個案例給大家詳細說明,需要的朋友可以參考下2022-05-05Spring Boot如何配置內置Tomcat的maxPostSize值
這篇文章主要介紹了Spring Boot如何配置內置Tomcat的maxPostSize值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08SpringBoot配置多個數據源超簡單步驟(連接多個數據庫)
公司項目有連接多個不同數據庫的需求,特研究了一下,根據網上的資料,這篇文章主要給大家介紹了關于SpringBoot配置多個數據源(連接多個數據庫)的相關資料,需要的朋友可以參考下2024-05-05