本博文是測試公衆號調用模板接口測試。請不要徹底複製個人代碼。裏面的測試代碼中有本人測試號的微信模板id。麻煩替換成本身的能夠嗎?android
第一步:建立模板信息ios
第二步:準備模板代碼實體類用到的屬性自行加入就行json
public class TemplateData { private String value; private String color; public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } }
public class WxTemplate { /** * 模板消息id */ private String template_id; /** * 用戶openId */ private String touser; /** * URL置空,則在發送後,點擊模板消息會進入一個空白頁面(ios),或沒法點擊(android) */ private String url; /** * 標題顏色 */ private String topcolor; /** * 詳細內容 */ private Map<String,TemplateData> data; public String getTemplate_id() { return template_id; } public void setTemplate_id(String template_id) { this.template_id = template_id; } public String getTouser() { return touser; } public void setTouser(String touser) { this.touser = touser; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getTopcolor() { return topcolor; } public void setTopcolor(String topcolor) { this.topcolor = topcolor; } public Map<String, TemplateData> getData() { return data; } public void setData(Map<String, TemplateData> data) { this.data = data; } }
第三步:具體方式實現本博文只是測試公衆號測試模板接口調用api
public class SendOrderPaySuccessMsg { Logger log = LoggerFactory.getLogger(getClass()); /** * 發送模板消息 * appId 公衆帳號的惟一標識 * appSecret 公衆帳號的密鑰 * openId 用戶標識 */ public void send_template_message(String appId, String appSecret, String openId) { AccessToken token = WeixinUtil.getAccessToken(appId, appSecret); String access_token = token.getToken(); String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+access_token; WxTemplate temp = new WxTemplate(); temp.setUrl("http://weixin.qq.com/download"); temp.setTouser(openId); temp.setTopcolor("#000000"); // temp.setTemplate_id("ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY"); temp.setTemplate_id("LBBm6qscHUcz-0Gh7PlBonsLKtJBHjCLIirnaiBZ4xQ"); Map<String,TemplateData> m = new HashMap<String,TemplateData>(); TemplateData first = new TemplateData(); first.setColor("#000000"); first.setValue("這裏填寫您要發送的模板信息"); m.put("first", first); TemplateData name = new TemplateData(); name.setColor("#000000"); name.setValue("另外一行內人"); m.put("name", name); TemplateData wuliu = new TemplateData(); wuliu.setColor("#000000"); wuliu.setValue("N行"); m.put("wuliu", wuliu); TemplateData orderNo = new TemplateData(); orderNo.setColor("#000000"); orderNo.setValue("**666666"); m.put("orderNo", orderNo); TemplateData receiveAddr = new TemplateData(); receiveAddr.setColor("#000000"); receiveAddr.setValue("*測試模板"); m.put("receiveAddr", receiveAddr); TemplateData remark = new TemplateData(); remark.setColor("#000000"); remark.setValue("***備註說明***"); m.put("Remark", remark); temp.setData(m); String jsonString = JSONObject.fromObject(temp).toString(); JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonString); System.out.println(jsonObject); int result = 0; if (null != jsonObject) { if (0 != jsonObject.getInt("errcode")) { result = jsonObject.getInt("errcode"); log.error("錯誤 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg")); } } log.info("模板消息發送結果:"+result); }
第四步:截圖示意微信