微信公眾號發送模板消息 Java實現。


本博文是測試公眾號調用模板接口測試。
第一步:創建模板信息


第二步:準備模板代碼實體類用到的屬性自行加入就行
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;
}
}
第三步:具體方式實現本博文只是測試公眾號測試模板接口調用
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);
}
第四步:截圖示意

本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!