1.首先准备好公众号appid和secret
2.设置访问微信公众号三方接口被授权获取token权限的白名单ip
3、然后登陆公众号平台进行授权域名设置,用于授权用户信息时在此域名下访问到授权文件
4、调用接口
public Result judgeIsFollow(String openid) {
Result<Object> result = new Result<>();
//获取用户token
String 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.weixin.qq.com/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.weixin.qq.com/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博客
微信公众号网页授权域名设置 - 简书 (jianshu.com)