天天看點

調用微信模版消息執行個體

步驟 :

1: 去微信公衆号申請  模版消息功能 。

調用微信模版消息執行個體

2:進入模版消息 ,從模闆庫中添加一個模版

調用微信模版消息執行個體

3:點選詳情檢視格式

調用微信模版消息執行個體
調用微信模版消息執行個體

基本準備工作已經就緒 ,接下來就是開發過程

// 開發者ID(AppID)

String appid = "XXXXXXXXX";

// 開發者密碼

String app_secret = "XXXXXXXXXXXX";

// 擷取access_token 的url

String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="

+ appid + "&secret=" + app_secret;

String access_token = null;

JSONObject jsonObject = null;

InputStream is = new URL(access_token_url).openStream();

try {

BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));

StringBuilder sb = new StringBuilder();

int cp;

while ((cp = rd.read()) != -1) {

sb.append((char) cp);

}

String jsonText = sb.toString();

jsonObject = JSONObject.fromObject(jsonText);

} finally {

is.close();

}

if (null != jsonObject) {

access_token = jsonObject.getString("access_token");

// 發送模版消息資料的url

String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?           access_token=" + access_token;

// 請求包為一個json:(這裡是用了類轉化json的方法 建立的json 也可以指直接拼接字元串)

// String body = "{\"touser\":

// \"XXXXX\",\"template_id\":

// \"XXXXX\",\"url\":

// \"http://www.anquan100.com\",\"data\":

// {\"keyword1\":{\"value\":\"GuestChan\",\"color\":\"#173177\"},\"keyword3\":{\"value\":\"400\",\"color\":\"#173177\"}}}";

TemplateMessage t = new TemplateMessage();

TemplateMessageData td = new TemplateMessageData();

td.setFirst(new TemplateMessageValue("親耐滴芮碧特", "#173177"));

td.setRemark(new TemplateMessageValue("點選“詳情”确認本次繳費資訊", "#173177"));

td.setKeyword1(new TemplateMessageValue("遠端教育收費", "#173177"));

td.setKeyword2(new TemplateMessageValue("888.88", "#173177"));

td.setKeyword3(new TemplateMessageValue("666.66", "#173177"));

td.setKeyword4(new TemplateMessageValue("111.11", "#173177"));

td.setKeyword5(new TemplateMessageValue("111.11", "#173177"));

t.setTemplate_id("XXXXXXX");// 模版id

t.setTouser("XXXXXX");// 使用者的openid

t.setUrl("http://www.anquan100.com"); // 使用者點選詳情打開的位址

t.setData(td);

JSONObject json = JSONObject.fromObject(t);

CloseableHttpClient httpClient = null;

CloseableHttpResponse response = null;

String result = "";

try {

// 通過址預設配置建立一個httpClient執行個體

httpClient = HttpClients.createDefault();

// 建立httpGet遠端連接配接執行個體

HttpPost httpGet = new HttpPost(url);

// 設定請求頭資訊

httpGet.setHeader("Content-Type", "application/json");

httpGet.setEntity(new StringEntity(json.toString(), "utf-8"));

// 設定配置請求參數

RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 連接配接主機服務逾時時間

.setConnectionRequestTimeout(35000)// 請求逾時時間

.setSocketTimeout(60000)// 資料讀取逾時時間

.build();

// 為httpGet執行個體設定配置

httpGet.setConfig(requestConfig);

// 執行get請求得到傳回對象

response = httpClient.execute(httpGet);

// 通過傳回對象擷取傳回資料

HttpEntity entity = response.getEntity();

// 通過EntityUtils中的toString方法将結果轉換為字元串

result = EntityUtils.toString(entity);

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

}

TemplateMessageData(實體類)

    private TemplateMessageValue first; //頭資訊

   private TemplateMessageValue remark; //尾資訊

    private TemplateMessageValue keyword1;

    private TemplateMessageValue keyword2;

    private TemplateMessageValue keyword3;

    private TemplateMessageValue keyword4;

    private TemplateMessageValue keyword5;

TemplateMessageValue(實體類)

public TemplateMessageValue() {

}

public TemplateMessageValue(String value,String color)

{

this.value = value;

this.color = color;

}

    private  String value;

    private String  color;

直接運作就可以接收到消息啦

調用微信模版消息執行個體