小程序调用调用jscode2session接口获取到openid,然后将此openid 传给msg_sec_check方法,如果msg_sec_check的version参数传1就正常,传2就提示我40003,openid无效
@RequestMapping(value = "/checkMsg")
public @ResponseBody JSONObject check(@RequestParam(value = "msg", required = false) String content,@RequestParam(value = "openid", required = false) String openid) {
String token = getToken();
Map<String, Object> paramMap = new HashMap<String, Object>(4);
paramMap.put("content", content);
paramMap.put("version", 1);//这里传2就返回40003 openid无效,传1就能正常检测
paramMap.put("scene", 2);
paramMap.put("openid", openid);
Object result = HttpUtil.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, JSONUtil.toJsonPrettyStr(paramMap));
JSONObject jsonObject = JSONUtil.parseObj(result);
return jsonObject;
}
你好,version参数传1,你调用的是内容安全1.0版本,该版本无需入参openid,故可以调用成功;但内容安全2.0版本,openid是必填参数,请自行排查openid的有效性。