发送模板消息(java)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) {
}
public String getTouser() {
return touser;
}
public void setTouser(String touser) {
}
王者赛季更新public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
韩庚 天天向上
}
public String getTopcolor() {
return topcolor;
}
public void setTopcolor(String 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) {
}
}
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(template).toString()); //此处你应该代⼊⾃⼰的template
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 = Instance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = SocketFactory();
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))
// 当有数据需要提交时
if (null != outputStr) {
OutputStream outputStream = OutputStream();
// 注意编码格式,防⽌中⽂乱码
outputStream.Bytes("UTF-8"));
outputStream.close();
}
// 将返回的输⼊流转换成字符串
InputStream inputStream = InputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = adLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
jsonObject = JSONObject.String());
} catch (ConnectException ce) {
ce.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return jsonObject;
}
获取发送反回值:
注:以上⽅法我已在⾃⼰的试过,可以正常运⾏发送模版消息,模版id可根据具体业务修改使⽤。