微信公众号模板消息接口开发实现

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

公众当中的功能 有许许多多,现在重要介绍模板消息接口的功能利用。
目的:

为了给关注过公众号的用户举行消息的推送,可以群发以及给指定的用户去发送消息,通常像一些访客、物业报修、以及付出的结果等等都大概会运用到该接口。

利用:

在微信公众号的开发者文档当中 选择模板消息接口,其中就有接口的解说以及利用。
现在我们重要利用测试号去举行解说和利用(个人注册订阅号,企业重要利用服务号)。
按照以下步骤获取公众号的测试信息:appID、appsecret 唯一等。

 
获取以下数据:

 
然后就是举行接口配置信息,起首我们是测试的公众号,所以只需要在以上界面当中去验证接口,若是正式上线则需要工具开发文档的要求去配置服务器的信息等,规则都是相似的!!!


所以我们需要在下面的页面当中配置验证的接口:

  1. @GetMapping("get")
  2.     @ApiOperation(value = "微信公众号验证接口")
  3.     public String init(String signature,String timestamp,String nonce,String echostr) throws NoSuchAlgorithmException {
  4.         String token = "test";
  5.         List<String> stringList = Arrays.asList(token, timestamp, nonce);
  6.         Collections.sort(stringList);
  7.         StringBuilder stringBuilder=new StringBuilder();
  8.         for (String s : stringList) {
  9.             stringBuilder.append(s);
  10.         }
  11.         MessageDigest sha1 = MessageDigest.getInstance("sha1");
  12.         byte[] bytes = sha1.digest(stringBuilder.toString().getBytes());
  13.         StringBuilder sum=new StringBuilder();
  14.         for (byte aByte : bytes) {
  15.             sum.append(Integer.toHexString(((aByte>>4)&15)));
  16.             sum.append(Integer.toHexString(aByte&15));
  17.         }
  18.         if (signature!=null&&signature.equals(sum.toString())){
  19.             return echostr;
  20.         }
  21.         return echostr;
  22.     }
复制代码
 起首代码当中的token就是在公众号当中配置的token需要雷同,下一步就是按照文档要求:1、将token、timestamp、nonce三个参数举行字典序排序;2、将三个参数字符串拼接成一个字符串举行sha1加密;3、开发者获得加密后的字符串可与signature对比
详细的sha1加密算法可以去网上搜寻以下资料,如果乐成了则就会提示配对乐成!!!
注:在验证时,若该服务部署在服务器上,则利用服务器的地址即可,若没有服务器,则可以利用内网穿透实现验证。
获取access_token:

在调用接口的时候大多数都会利用到access_token,因此我们需要按文档要求去获取到access_token。

以上也都是官方提供的方法以及接口调用去获取到 access_token。
  1. private static AccessToken getToken() throws IOException {
  2.         String url=String.
  3.                 format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",appid,secret);
  4.         String st = HttpRestUtils.get(url, null);
  5.         JSONObject jsonObject=new JSONObject(st);
  6.         String access_token = jsonObject.getStr("access_token");
  7.         Long expires_in = jsonObject.getLong("expires_in");
  8.         accessToken.setToken(access_token);
  9.         accessToken.setExpiresTime(expires_in);
  10.         return accessToken;
  11.     }
  12.     public static String getAccessToken() throws IOException {
  13.         if (accessToken!=null || accessToken.isExpires()){
  14.             getToken();
  15.         }
  16.         return accessToken.getToken();
  17.     }
复制代码
以上则是获取到access_token,固然access_token存在过期时间,因此在获取到的同时也需要举行过期的判断,如果过期了则重新获取。
后续模板消息推送功能的操纵将会发布,请连续关注!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表