这篇文章主要介绍了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.jar3.jfinal-weixin-1.7-bin-with-src.jar
以上就是关于Java如何调用微信客服消息来完成发货通知的实例(图)的详细内容,更多请关注其它相关文章!
生活会变成什么样子?正因为时光流逝一去不复返,