public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
public final static String checkUrl = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN"; public final static String checkImgUrl = "https://api.weixin.qq.com/wxa/media_check_async?access_token=ACCESS_TOKEN";
1、首先获取临时凭证accessToken
String accessToken="";
if (redisUtil.hasKey(code)){ System.out.println("------------------从缓存获取的access_token:"+redisUtil.get(code)); return String.valueOf(redisUtil.get(code)); }else { String accessToken=""; String requestUrl = access_token_url.replace("APPID", appid).replace("APPSECRET", appsecret); JSONObject jsonObject = HttpUtil.doGet(requestUrl); //调用通用的https请求方法 System.out.println("----------------------------请求获取token返回的参数:"+jsonObject); // 如果请求成功 if (null != jsonObject) { try { redisUtil.set(code,jsonObject.getString("access_token"), Long.parseLong(jsonObject.getString("expires_in"))); accessToken=jsonObject.getString("access_token"); } catch (JSONException e) { // 获取token失败 System.out.println("获取token失败 errcode:{} errmsg:{}"+Integer.parseInt(jsonObject.getString("expires_in"))+jsonObject.getString("errmsg")); } } return accessToken; }
2、请求内容安全监测,具体参数可参考微信:文本内容安全识别 | 微信开放文档
public boolean contentSafe( String content,String openId) { String accessToken=this.getAccessToken(); String requestUrl = checkUrl.replace("ACCESS_TOKEN", accessToken); JSONObject map=new JSONObject(); map.put("openid",openId); map.put("scene",3); map.put("version",2); map.put("content",content); String jsonObject = HttpUtil.postData(requestUrl,map.toJSONString()); //调用通用的https请求方法 System.out.println(jsonObject); JSONObject jsonObject1= JSON.parseObject(jsonObject); JSONObject result = (JSONObject)jsonObject1.get("result"); System.out.println("----------------"+result); String suggest = result.getString("suggest"); String label = result.getString("label"); System.out.println(suggest); System.out.println(label); if (suggest.equals("pass")&&label.equals("100")){ return true; } return false; }
3、请求图片安全检测,具体参数参考微信:音视频内容安全识别 | 微信开放文档
public boolean imgSafe(String img, String openId) { String accessToken=this.getAccessToken(); String requestUrl = checkImgUrl.replace("ACCESS_TOKEN", accessToken); JSONObject map=new JSONObject(); map.put("openid",openId); map.put("scene",3); map.put("version",2); map.put("media_url",img); map.put("media_type",2); String jsonObject = HttpUtil.postData(requestUrl,map.toJSONString()); //调用通用的https请求方法 System.out.println(jsonObject); JSONObject jsonObject1= JSON.parseObject(jsonObject); String errmsg = jsonObject1.getString("errmsg"); System.out.println("----------------"+errmsg); if (errmsg.equals("ok")){ return true; } return false; }