Java實現(xiàn)微信公眾號獲取臨時二維碼功能示例
本文實例講述了Java實現(xiàn)微信公眾號獲取臨時二維碼功能。分享給大家供大家參考,具體如下:
我們做微信公眾號開發(fā)時為了推廣,可能需要服務端去生成公眾號的臨時二維碼,然后再進行一定的圖片合成操作,制作一張漂亮的推廣海報。別人掃一下二維碼進入關注公眾號界面,點擊關注我們可以拿到二維碼里面的信息官網(wǎng)地址
記錄一下獲取臨時二維碼操作過程。
1.獲取access_token 上一篇文章寫了 就不贅述了;
2.根據(jù)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"); /** * 實際應用中可以根據(jù)過期時間服務器存儲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是獲取到寫死的,單接口測試 可以使用微信提供的網(wǎng)頁測試工具獲取。
scene_str里面對應的值即我們需要攜帶在二維碼中的信息。
更多關于java算法相關內(nèi)容感興趣的讀者可查看本站專題:《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)組操作技巧總結(jié)》、《Java數(shù)學運算技巧總結(jié)》、《Java編碼操作技巧總結(jié)》和《Java數(shù)據(jù)結(jié)構與算法教程》
希望本文所述對大家java程序設計有所幫助。
相關文章
Spring Boot中配置定時任務、線程池與多線程池執(zhí)行的方法
這篇文章主要給大家介紹了關于Spring Boot中配置定時任務、線程池與多線程池執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09SpringCloud基于RestTemplate微服務項目案例解析
這篇文章主要介紹了SpringCloud基于RestTemplate微服務項目案例,在寫SpringCloud搭建微服務之前,先搭建一個不通過springcloud只通過SpringBoot和Mybatis進行模塊之間通訊,通過一個案例給大家詳細說明,需要的朋友可以參考下2022-05-05Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值
這篇文章主要介紹了Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08springboot使用EMQX(MQTT協(xié)議)的實現(xiàn)
最近由于iot越來越火, 物聯(lián)網(wǎng)的需求越來越多, 那么理所當然的使用mqtt的場景也就越來越多,本文主要介紹了springboot使用EMQX(MQTT協(xié)議)的實現(xiàn),感興趣的可以了解一下2023-10-10SpringBoot配置多個數(shù)據(jù)源超簡單步驟(連接多個數(shù)據(jù)庫)
公司項目有連接多個不同數(shù)據(jù)庫的需求,特研究了一下,根據(jù)網(wǎng)上的資料,這篇文章主要給大家介紹了關于SpringBoot配置多個數(shù)據(jù)源(連接多個數(shù)據(jù)庫)的相關資料,需要的朋友可以參考下2024-05-05