• 技术文章 >Java >java教程

    关于Java如何调用微信客服消息来完成发货通知的实例(图)

    黄舟黄舟2017-08-20 09:12:48原创1696
    这篇文章主要介绍了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核实处理。
    专题推荐:Java 客服 调用
    上一篇:Java中调用微信支付功能的实例分析 下一篇:JavaWEB中关于前后台乱码问题的解决
    Web大前端开发直播班

    相关文章推荐

    • 详细介绍Java桥接模式• 详细解析Java的this和super关键字• 详细整理java枚举的使用总结• 一起聊聊Java常用数据类型的输入输出• Java归纳总结之数组详解

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网