微信推送模板信息接口(干货-代码)
程序员文章站
2024-03-15 14:23:53
...
这里仅针对推送模板信息进行代码整理~~~
本文分为以下三个部分:
一、申请模板消息权限
二、开发模板消息SDK
三、JAVA代码实现发送模板消息
一、申请模板消息权限
模板消息的申请需微信公众账号已经认证通过。
在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息“,按照下图的红色框步骤,填写相关信息,即可申请,微信官方有审核,静静等待即可。
二、开发模板消息SDK
模板消息相关接口介绍:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277
三、JAVA代码实现发送模板消息
1、新建发送信息需要的实体信息
/**
* Description:模板信息Bean
* @author
* @version 1.0
* <pre>
* Modification History:
* Date Author Version Description
------------------------------------------------------------------
* 2017年9月21日 1.0 1.0 Version
* </pre>
*/
public class WechatTemplate {
private String touser ;
private String template_id;
private String url;
private String topcolor ;
private Map<String, TemplateData> data;
//getter setter 省略
}
/**
* Description:模板信息的每个属性信息
* @author
* @version 1.0
* <pre>
* Modification History:
* Date Author Version Description
------------------------------------------------------------------
* 2017年9月21日 1.0 1.0 Version
* </pre>
*/
public class TemplateData {
private String value ;
private String color;
}
2、调用微信发送模板信息的接口
/**
* Description: 发送微信模板信息
* @param
* @return void
* @throws Exception
* @throws
* @Author
* Create Date: 2017年9月21日 下午3:50:38
*/
@SuppressWarnings("static-access")
public void sendTemplateMessage(WechatTemplate wechatTemplate){
try {
String access_token = this.getAccessToken();
String url=this.SEND_MESSAGE_URL+access_token;
String para=JSON.toJSONString(wechatTemplate);
String resultStr=HttpClinetUtil.post(para, url);
logger.info("返回结果:{}",resultStr);
} catch (Exception e) {
e.printStackTrace();
}
}
针对上面的方法有几点需要说明以及代码补充:
(1)、请求的接口url:这个可以配置文件中,此处仅仅为了方便,直接写成静态常量了。
SEND_MESSAGE_URL=”https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=”;
(2)、 关于 access_token (https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183 )
此处的access_token是程序保存在redis缓存中的数据,不再赘述。开发兄弟们按照各自项目已有方式获取即可。
(3)、HttpClinetUtil.post(para, url)方法;
/**
* 发送模板信息调用的请求方法
* Description:
* @param
* @return String
* @throws
* @Author xuhongwei
* Create Date: 2017年6月29日 下午2:30:13
*/
public static String sendWeCharMsg(String json, String url) {
HttpPost post = new HttpPost(url);
post.setHeader("Content-Type", "application/json");
post.addHeader("Authorization", "Basic YWRtaW46");
String result = "";
try {
StringEntity s = new StringEntity(json.toString(), "utf-8");
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(s);
// 发送请求
HttpResponse httpResponse = HttpClients.createDefault().execute(post);
// 获取响应输入流
InputStream inStream = httpResponse.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "utf-8"));
StringBuilder strber = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
strber.append(line + "\n");
inStream.close();
result = strber.toString();
System.out.println(result);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
logger.info("请求服务器成功,做相应处理");
} else {
logger.info("请求服务端失败");
}
} catch (Exception e) {
System.out.println("请求异常");
throw new RuntimeException(e);
}
return result;
}
以上就是微信消息发送的java代码,整理完毕。
另外:我的简书也有篇介绍推送模板消息的:http://www.jianshu.com/p/38d05cbbe33e,简书的比较粗糙。