首頁  >  文章  >  Java  >  關於Java如何呼叫微信客服訊息來完成出貨通知的實例(圖)

關於Java如何呼叫微信客服訊息來完成出貨通知的實例(圖)

黄舟
黄舟原創
2017-08-20 09:12:482965瀏覽

這篇文章主要介紹了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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn