2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 使用微信公众号openid获取用户信息判断是否关注公众号

使用微信公众号openid获取用户信息判断是否关注公众号

时间:2024-05-02 05:28:32

相关推荐

使用微信公众号openid获取用户信息判断是否关注公众号

1.首先准备好公众号appid和secret

2.设置访问微信公众号三方接口被授权获取token权限的白名单ip

3、然后登陆公众号平台进行授权域名设置,用于授权用户信息时在此域名下访问到授权文件

4、调用接口

public Result judgeIsFollow(String openid) {Result<Object> result = new Result<>();//获取用户tokenString token = String.valueOf(redisUtil.get("gzhToken"));if (token == "null") {token = getAccessToken();}Integer subscribe = null;String param="access_token="+token+"&openid="+openid+"&lang=zh_CN";String url = "https://api./cgi-bin/user/info"+"?"+param;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);http.connect();InputStream is = http.getInputStream();int size = is.available();byte[] jsonBytes = new byte[size];is.read(jsonBytes);String message = new String(jsonBytes, "UTF-8");JSONObject demoJson = JSONObject.parseObject(message);subscribe = Integer.parseInt(demoJson.get("subscribe").toString());is.close();} catch (Exception e) {log.error(e.getMessage(), e);return Result.error("系统繁忙!");}if (1 != subscribe) {return result.success("未关注");} else {return result.success("已关注");}}public String getAccessToken() {RestTemplate restTemplate = new RestTemplate();Map<String, String> params = new HashMap<>();params.put("APPID", wxMiniConfigVo.getWxGzhId());params.put("APPSECRET", wxMiniConfigVo.getWxGzhSecret());params.put("grant_type", "client_credential");String tokenUrl="https://api./cgi-bin/token?appid={APPID}&secret={APPSECRET}&grant_type={grant_type}";ResponseEntity<String> responseEntity = restTemplate.getForEntity(tokenUrl, String.class, params);String body = responseEntity.getBody();JSONObject object = JSON.parseObject(body);String Access_Token = object.getString("access_token");redisUtil.set("gzhToken", Access_Token);redisUtil.expire("gzhToken", Long.parseLong(object.getString("expires_in")));return Access_Token;}

参考:

(8条消息) 微信小程序结合公众号发送消息_小火神萌萌哒的博客-CSDN博客

微信公众号网页授权域名设置 - 简书 ()

可以在小程序内判断用户是否关注公众号吗? | 微信开放社区 ()

java后端判断用户是否关注指定公众号_leo-CSDN博客_java判断用户是否关注公众号

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。