Java调用微信客服消息实现发货通知的方法详解

网友投稿 255 2023-04-17


Java调用微信客服消息实现发货通知的方法详解

本文实例讲述了java调用微信客服消息实现发货通知的方法。分享给大家供大家参考,具体如下:

微信文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547&token=&lang=zh_CN

说明:下面开始代码部分了。

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

String token2 = String.valuePLBPKLOf(stringArr[i]);

token3 += token2;

}

System.out.println("这里是ACCESS_TOKEN"+token3)PLBPKL;

获取到一个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算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程》

希望本文所述对大家java程序设计有所帮助。

String token2 = String.valuePLBPKLOf(stringArr[i]);

token3 += token2;

}

System.out.println("这里是ACCESS_TOKEN"+token3)PLBPKL;

获取到一个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算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JAVA中实现原生的 socket 通信机制原理
下一篇:Vue组件选项props实例详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~