微信公眾號獲取臨時二維碼
阿新 • • 發佈:2018-11-21
我們做微信公眾號開發時為了推廣,可能需要服務端去生成公眾號的臨時二維碼,然後再進行一定的圖片合成操作,製作一張漂亮的推廣海報。別人掃一下二維碼進入關注公眾號介面,點選關注我們可以拿到二維碼裡面的資訊官網地址
記錄一下獲取臨時二維碼操作過程。
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裡面對應的值即我們需要攜帶在二維碼中的資訊。