微信公众号发送模板消息
2017-04-21 15:18
453 查看
第一步:创建模板信息
第二步:准备模板代码实体类用到的属性自行加入就行
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 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);
}
第二步:准备模板代码实体类用到的属性自行加入就行
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);
}
相关文章推荐
- 微信公众号发送模板消息(java)
- 微信公众号开发-----微信模板消息接口-----发送模板消息
- php之微信公众号发送模板消息
- java微信公众号开发发送模板消息
- 微信公众号发送中奖模板消息
- 微信公众号开发《二》发送模板消息实现消息业务实时通知
- 微信公众号开发《二》发送模板消息实现消息业务实时通知
- php之微信公众号发送模板消息
- 微信公众号开发之[发送模板消息]
- 使用C# .net开发微信公众号之给用户发送模板消息
- java微信公众号发送消息模板
- 微信公众号发送模板消息
- 微信公众号开发《发送消息模板到公众号(java版)》
- 微信公众号发送模板消息
- 使用shell通过微信公众号发送模板消息
- 微信公众号发送模板消息接口
- 微信公众号开发模板消息推送(二) 获取openid java
- 微信公众号模板消息实现------遇到问题Token为null,报空指针
- 微信公众号--模板消息
- 微信小程序发送模板消息请求