1.封装微信模板消息类:
public class WxTemplate {
private String template_id;
private String touser;
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;
}
}
2.封装模板数据
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;
}
}
3.填充模板消息数据
WxTemplate t = new WxTemplate();
t.setUrl("");
t.setTouser(open_id));
t.setTopcolor("#000000");
t.setTemplate_id(模板ID);
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 remark = new TemplateData();
remark.setColor("blue");
remark.setValue("***备注说明***");
m.put("Remark", remark);
t.setData(m);
4.使用JSONObject将类转化成JSON格式
JSONObject.fromObject([color=red]template[/color]).toString())
5.调用发送接口:
public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) {
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
// 设置请求方式(GET/POST)
httpUrlConn.setRequestMethod(requestMethod);
if ("GET".equalsIgnoreCase(requestMethod))
httpUrlConn.connect();
// 当有数据需要提交时
if (null != outputStr) {
OutputStream outputStream = httpUrlConn.getOutputStream();
// 注意编码格式,防止中文乱码
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
jsonObject = JSONObject.fromObject(buffer.toString());
} catch (ConnectException ce) {
ce.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return jsonObject;
}
JSONObject jsonobj = httpRequest(“https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN”, "POST",JSONObject.fromObject(t).toString())
jsonobj为发送返回值
分享到:
相关推荐
以订单推送为例,主要为大家详细介绍了java实现微信公众号发送模版消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
微信公众号发送模板消息 php代码 亲测
thinkphp 5.0 对接微信公众号,向指定用户发送模板消息
.NET 发送微信公众号模板消息 解压密码 www.shcodetool.com
微信公众号模板消息推送代码,亲测可行。其中有一个工具类,注释啥的都有。需要的可以看看
它提供了一个后台管理系统,用于管理微信公众号的推送功能,包括消息的生成、发送、用户管理、通道管理等。通过该系统,用户可以方便地进行微信公众号的消息推送和管理。 ## 项目的主要特性和功能 1. 消息推送管理...
微信公众号模板消息推送SpringBoot定时任务版本-VxMessage
文档通过已认证的微信服务号介绍了微信公众号消息模板的PHP编程对接方法,具有较好的学习和参考价值
微信消息通知,给微信公众号用户发送消息通知 本程序用laravel框架,使用的时候请根据自己的目录结构自行修改命名空间和类名继承等信息
微信公众号接口调用 java demo, maven工程, 包含获得微信 AccessToken, 获得微信用户信息, 微信公众号用于调用微信JS接口的临时票据, 微信分享, 发送模板消息等
springboot实现微信公众号模版消息推送,用的是构架:springboot+redis,详细教程:https://blog.csdn.net/chenhongming888/article/details/95173079
自己在微信公众平台中申请模板消息的id;这里没有没有提供获取用户openid的方法,我在之前的一个博客中有写过获取用户openid的代码;...但是恶心的是,这个token不能用来发送模板消息;代码里面有。
给女朋友做的微信公众号消息每日自动推送天气及纪念日通知教程,该教程为github每日自动线上运行版本。本人亲测妹子很喜欢~女孩子都喜欢这种用心做的东西! 1.最新版本 成品 +源码 +消息模板 (需要自己申请 天行 ...
微信公众号可以将消息交给WeixinHandler处理,如果能主动发送通知消息到手机微信就非常方便了,微信公众号的“发送模板消息”接口可以使用
6.发送模板消息 7.创建自定义菜单 8.获取自定义菜单 9.获取用户信息 10.获取微信服务器IP 11.获取access_token 12.获取用户授权Token 13.回复文本消息 14.回复图文消息 15.消息接收并解析接口 16.接口地址认证检查 ...
主要介绍了java实现微信公众平台发送模板消息的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
【delphi微信公众号】支持获取Access token、用户管理、模板消息、客服消息、接收消息、被动回复用户消息、素材管理等,D7~XE10通用。微信公众号api文档:...
(1) 第三方应用程序通过约定接口,传递“微信内容”、”微信模板”、“微信接收人”,“发送间隔”参数,向公众号发送微信,并反馈微信发送结果。 (2) 第三方应用程序通过约定接口,获取微信公众号的通讯录信息。 (3...
微信模板消息只能发给一个人,如果要群发,需要通过php循环,依次发送。 注意,如果模板消息发信息时有时无,不稳定,可能你的access_token令牌更新缓存不及时,过期了.可以根据日志文件查看.建议300秒更新一下.否则会很...
* 发送模板消息 */ public function send_notice(){ //获取access_token if ($_COOKIE['access_token']){ $access_token2=$_COOKIE['access_token']; }else{ $json_token=$this>curl_post(...