這篇文章主要介紹了Java調用微信客服訊息實現發貨通知的方法,結合實例形式詳細分析了java針對微信接口調用的原理、調用方法與相關注意事項,需要的朋友可以參考下
本文實例講述了Java呼叫微信客服訊息實作出貨通知的方法。分享給大家供大家參考,具體如下:
個人說明:這是一個範例,微信客戶訊息有很多種,我現在用的是公眾號發送訊息。樣子如下圖。
說明:下面開始程式碼部分了。
1.先看微信文檔。這裡才是我們需要的
這裡是說發訊息要POST請求這個介面:https://api.weixin.qq.com/cgi-bin/message/ custom/send?access_token=ACCESS_TOKEN
但是這個介面後面需要帶一個參數ACCESS_TOKEN。
下面先取得ACCESS_TOKEN。
//这里的WeixinUtil.getAccess_token()方法,放在下面。 String aToken = WeixinUtil.getAccess_token("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+你的appId+"&secret="+你的appSecret+""); System.out.println("这里是aToken"+aToken); String[] tokenOne = aToken.split(":"); String[] token = tokenOne[1].split(","); char [] stringArr = token[0].toCharArray(); String token3 = "" ; for(int i=1;i<stringArr.length-1;i++){ String token2 = String.valueOf(stringArr[i]); token3 += token2; } System.out.println("这里是ACCESS_TOKEN"+token3);
取得到一個ACCESS_TOKEN,然後就可以加入到微信請求中
//这里就是一个微信请求,首先用String放着 String tokenurl = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+token3; //首先确定是发送文字消息,还是图文消息,这里是手写的json数据. //发送文字消息,无连接 String json = "{\"touser\":\"这里是Openid\",\"msgtype\":\"text\",\"text\":{\"content\":\"Hello World\"}}"; //图文消息,有链接连接 String jsonpic = "{\"touser\":\""+这里是Openid+"\","+ "\"msgtype\":\"news\",\"news\":{\"articles\":["+ "{\"title\":\"HelloWorld\",\"url\":\"要跳转的链接"}]}}"; System.out.println("这里是json"+jsonpic); //请求方法,然后放回OK 成功,否则错误。这里这个请求方法在下边 String xmlStr = HttpKit.post(tokenurl,jsonpic); System.out.println("这里是xmlStr"+xmlStr);
說明: WeixinUtil.getAccess_token()
方法。我放整個類了。改包名,只需要導入兩個包
package com.uitrs.weixin; import java.net.HttpURLConnection; import java.net.URL; public class WeixinUtil { //传入URL public static String getAccess_token(String url) { String accessToken = null; try { URL urlGet = new URL(url); HttpURLConnection http = (HttpURLConnection) urlGet .openConnection(); http.setRequestMethod("GET"); // 必须是get方式请求 http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); http.setDoOutput(true); http.setDoInput(true); System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒 System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒 http.connect(); InputStream is = http.getInputStream(); int size = is.available(); byte[] jsonBytes = new byte[size]; is.read(jsonBytes); accessToken = new String(jsonBytes, "UTF-8"); System.out.println(accessToken); is.close(); } catch (Exception e) { e.printStackTrace(); } return accessToken; } }
說明:HttpKit.post();
方法,我放整個類別了。這個類別我用的是導入
import com.jfinal.kit.HttpKit;
這個套件到了jfinal的套件。出自下面三個包當中,具體我也不清楚了
1.jfinal-2.2.jar (應該是這個)
2.jfinal-2.2-bin-with-src.jar
3.jfinal-weixin-1.7-bin-with-src.jar
以上是關於Java如何呼叫微信客服訊息來完成出貨通知的實例(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!