本文实例讲述了Java调用微信客服消息实现发货通知的方法。分享给大家供大家参考,具体如下:
微信文档地址:https://mp.weixin.qq.com/wiki& # 63; t=资源/res_main& id=mp1421140547&朗牌=,=zh_CN
个人说明:这是一个样例,微信客户消息有很多种,我现在用的是公众号发送消息。样子如下图。
说明:下面开始代码部分了。
1。首先看微信文档。这里才是我们需要的
这里是说发消息后要请求这个接口:https://api.weixin.qq.com/cgi-bin/message/custom/send& # 63; access_token=access_token
但是这个接口后面需要带一个参数ACCESS_TOKEN。
下面先获取ACCESS_TOKEN。
//这里的WeixinUtil.getAccess_token()方法,放在下面。 字符串aToken=WeixinUtil.getAccess_token (" https://api.weixin.qq.com/cgi-bin/token& # 63; grant_type=client_credential& appid=" +你的appid + ",秘密=" +你的appSecret + " "); System.out.println(“这里是aToken”+ aToken); String [] tokenOne=aToken.split (“:”); String[]牌=tokenOne [1] .split (", "); char [] stringArr[0]=令牌.toCharArray (); 字符串token3=" "; for (int i=1; i< stringArr.length-1;我+ +){ 字符串token2=String.valueOf (stringArr[我]); token3 +=token2; } System.out.println(“这里是ACCESS_TOKEN”+ token3); >之前获取到一个ACCESS_TOKEN,然后就可以加入到微信请求中
//这里就是一个微信请求,首先用字符串放着 字符串tokenurl=" https://api.weixin.qq.com/cgi-bin/message/custom/send& # 63; access_token=" + token3;//首先确定是发送文字消息,还是图文消息,这里是手写的json数据。//发送文字消息,无连接 json字符串="{\“用\”:\“这里是Openid \”, \“msgtype \”, \“文本\”,\“文本\”:{\“内容\”,\“Hello World”\}}”;//图文消息,有链接连接 字符串jsonpic="{\“用\”:\ " +这里是Openid +“\”,“+”\“msgtype \”: \“新闻\”,\“新闻\”:{\“\”,(“+”{\“标题\”:\“HelloWorld \”, \“url \”: \“要跳转的链接”}]}}”; System.out.println(“这里是json”+ jsonpic);//请求方法,然后放回好成功,否则错误。这里这个请求方法在下边 字符串xmlStr=HttpKit.post (tokenurl jsonpic); System.out.println(“这里是xmlStr”+ xmlStr); >之前说明:<代码> WeixinUtil.getAccess_token() 代码>方法。我放整个类了。改包名,只需要导入两个包
包com.uitrs.weixin; 进口java.net.HttpURLConnection; 进口java.net.URL; 公开课WeixinUtil {//传入URL getAccess_token公共静态字符串(字符串url) { 字符串accessToken=零; 尝试{ URL urlGet=新网址(URL); urlGet HttpURLConnection http=(HttpURLConnection) .openConnection (); http.setRequestMethod(“获得”);//必须是获得方式请求 http.setRequestProperty(“内容类型”, “应用程序/x-www-form-urlencoded”); http.setDoOutput(真正的); http.setDoInput(真正的); System.setProperty (" sun.net.client.defaultConnectTimeout ", " 30000 ");//连接超时30秒 System.setProperty (“sun.net.client.defaultReadTimeout”、“30000”);//读取超时30秒 http.connect (); InputStream是=http.getInputStream (); int大?is.available (); byte [] jsonBytes=新字节(大小); is.read (jsonBytes); accessToken=新的字符串(jsonBytes“utf - 8”); System.out.println (accessToken); is.close (); }捕捉(异常e) { e.printStackTrace (); } 返回accessToken; } } >之前说明:<代码> HttpKit.post(); 代码>方法,我放整个类了。这个类我用的是导入
进口com.jfinal.kit.HttpKit; >之前这个包到了jfinal的包。出自下面三个包当中,具体我也不清楚了
1. jfinal - 2.2。jar(应该是这个)
2. jfinal - 2.2 - bin - src。jar
3. jfinal weixin - 1.7 - bin -与src.jar更多关于java算法相关内容感兴趣的读者可查看本站专题:《java字符与字符串操作技巧总结》,《java数组操作技巧总结》,《java数学运算技巧总结》,《java编码操作技巧总结》和《java数据结构与算法教程》
Java调用微信客服消息实现发货通知的方法详解