java发送微信小程序模板消息_微信小程序,公眾號發送模板消息(java)

原文:http://www.aichengxu.com/java/4357322.htm

1.封裝微信模板消息類:

public class WxTemplate {

private String template_id;

private String touser;

private String url;

private String topcolor;

private Map 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 getData() {

return data;

}

public void setData(Map 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 m = new HashMap();

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 = 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())

注:以上方法我已在自己的微信公眾號試過,可以正常運行發送模版消息,模版id可根據具體業務修改使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值