在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

微信公众号发送模板消息 Java实现。

2017-2-7 13:39| 发布者: zhangjf| 查看: 469| 评论: 0

摘要: 本博文是测试公众号调用模板接口测试。 第一步:创建模板信息 第二步:准备模板代码实体类用到的属性自行加入就行 public class TemplateData { private String value; private String color; pub ...

本博文是测试公众号调用模板接口测试。

第一步:创建模板信息

第二步:准备模板代码实体类用到的属性自行加入就行

  1. public class TemplateData {
  2. private String value;
  3. private String color;
  4. public String getValue() {
  5. return value;
  6. }
  7. public void setValue(String value) {
  8. this.value = value;
  9. }
  10. public String getColor() {
  11. return color;
  12. }
  13. public void setColor(String color) {
  14. this.color = color;
  15. }
  16. }
复制代码

  1. public class WxTemplate {
  2. /**
  3. * 模板消息id
  4. */
  5. private String template_id;
  6. /**
  7. * 用户openId
  8. */
  9. private String touser;
  10. /**
  11. * URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)
  12. */
  13. private String url;
  14. /**
  15. * 标题颜色
  16. */
  17. private String topcolor;
  18. /**
  19. * 详细内容
  20. */
  21. private Map<String,TemplateData> data;
  22. public String getTemplate_id() {
  23. return template_id;
  24. }
  25. public void setTemplate_id(String template_id) {
  26. this.template_id = template_id;
  27. }
  28. public String getTouser() {
  29. return touser;
  30. }
  31. public void setTouser(String touser) {
  32. this.touser = touser;
  33. }
  34. public String getUrl() {
  35. return url;
  36. }
  37. public void setUrl(String url) {
  38. this.url = url;
  39. }
  40. public String getTopcolor() {
  41. return topcolor;
  42. }
  43. public void setTopcolor(String topcolor) {
  44. this.topcolor = topcolor;
  45. }
  46. public Map<String, TemplateData> getData() {
  47. return data;
  48. }
  49. public void setData(Map<String, TemplateData> data) {
  50. this.data = data;
  51. }
  52. }
复制代码

第三步:具体方式实现本博文只是测试公众号测试模板接口调用

  1. public class SendOrderPaySuccessMsg {
  2. Logger log = LoggerFactory.getLogger(getClass());
  3. /**
  4. * 发送模板消息
  5. * appId 公众账号的唯一标识
  6. * appSecret 公众账号的密钥
  7. * openId 用户标识
  8. */
  9. public void send_template_message(String appId, String appSecret, String openId) {
  10. AccessToken token = WeixinUtil.getAccessToken(appId, appSecret);
  11. String access_token = token.getToken();
  12. String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+access_token;
  13. WxTemplate temp = new WxTemplate();
  14. temp.setUrl("http://weixin.qq.com/download");
  15. temp.setTouser(openId);
  16. temp.setTopcolor("#000000");
  17. // temp.setTemplate_id("ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY");
  18. temp.setTemplate_id("LBBm6qscHUcz-0Gh7PlBonsLKtJBHjCLIirnaiBZ4xQ");
  19. Map<String,TemplateData> m = new HashMap<String,TemplateData>();
  20. TemplateData first = new TemplateData();
  21. first.setColor("#000000");
  22. first.setValue("这里填写您要发送的模板信息");
  23. m.put("first", first);
  24. TemplateData name = new TemplateData();
  25. name.setColor("#000000");
  26. name.setValue("另一行内人");
  27. m.put("name", name);
  28. TemplateData wuliu = new TemplateData();
  29. wuliu.setColor("#000000");
  30. wuliu.setValue("N行");
  31. m.put("wuliu", wuliu);
  32. TemplateData orderNo = new TemplateData();
  33. orderNo.setColor("#000000");
  34. orderNo.setValue("**666666");
  35. m.put("orderNo", orderNo);
  36. TemplateData receiveAddr = new TemplateData();
  37. receiveAddr.setColor("#000000");
  38. receiveAddr.setValue("*测试模板");
  39. m.put("receiveAddr", receiveAddr);
  40. TemplateData remark = new TemplateData();
  41. remark.setColor("#000000");
  42. remark.setValue("***备注说明***");
  43. m.put("Remark", remark);
  44. temp.setData(m);
  45. String jsonString = JSONObject.fromObject(temp).toString();
  46. JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonString);
  47. System.out.println(jsonObject);
  48. int result = 0;
  49. if (null != jsonObject) {
  50. if (0 != jsonObject.getInt("errcode")) {
  51. result = jsonObject.getInt("errcode");
  52. log.error("错误 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));
  53. }
  54. }
  55. log.info("模板消息发送结果:"+result);
  56. }
复制代码

第四步:截图示意

来自: http://my.oschina.net/xshuai/blog/602469

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-9 07:20

Copyright 2015-2025 djqfx

返回顶部