随手记录
/**
* 判断用户是否关注
*
* @param appId 微信公众号应用唯一标识
* @return 获取openid的URL地址
*/
public static Boolean getUserInfo(String appId, String appSecret, String openid) {
try {
logger.info(appId);
logger.info(appSecret);
String accessToken = getAccessToken(appId, appSecret);
Map<String, String> data = new HashMap<>();
data.put("openid", openid);
data.put("access_token", accessToken);
data.put("lang", "zh_CN");
String queryString = WxpubOAuth.httpBuildQuery(data);
String userInfo = "https://api.weixin.qq.com/cgi-bin/user/info?" + queryString;
logger.info("获取用户数据判断是否关注url:" + userInfo);
String resp = httpGet(userInfo);
logger.info("获取用户信息:" + resp);
JsonParser jp = new JsonParser();
JsonObject respJson = jp.parse(resp).getAsJsonObject();
if (respJson.has("errcode")) {
return false;
}
//判断是否关注
if (respJson.get("subscribe").getAsInt() == 0) {
return false;
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
}
return true;
}