收藏
回答

security.msgSecCheck这api在本地测试调用没有问题,服务器上调用格式不对,请教?

本地调用,返回结果如下:

服务器调用,返回结果如下:

官方说47001为参数格式错误,不明白格式错在哪儿,请指教,代码如下

System.out.println("accessToken"+accessToken);

//post请求地址
String url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + accessToken;

//通过fastJson设置json数据
JSONObject postData = new JSONObject();
//设置要检测的内容
postData.put("version", "2"); //接口版本号,2.0版本为固定值2
postData.put("openid", openId); //用户的openid(用户需在近两小时访问过小程序)
postData.put("scene", scene); //场景枚举值(1 资料;2 评论;3 论坛;4 社交日志)
postData.put("content", content); //需检测的文本内容,文本字数的上限为2500字,需使用UTF-8编码
String postDatajsonStr = postData.toString();

//post请求微信后台
String resMsg = HttpUtil.sendPost(url,postDatajsonStr);
System.out.println("resMsg : "+resMsg);

//解析返回数据
JSONObject jsonObject = JSON.parseObject(resMsg);
String errcode = jsonObject.getString("errcode");//获取errcode
System.out.println("errcode : "+errcode);
System.out.println("errcode : "+!errcode.equals("0"));

//解析检测结果
JSONObject result = JSONObject.parseObject(jsonObject.getString("result"));//订单金额信息
String suggest = result.getString("suggest");//建议,有risky、pass、review三种值
System.out.println("suggest : "+suggest);
String label = result.getString("label");//命中标签枚举值,100 正常;10001 广告;20001 时政;20002 色情;20003 辱骂;20006 违法犯罪;20008 欺诈;20012 低俗;20013 版权;21000 其他
System.out.println("label : "+label);


回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    2022-12-16
    很好奇怎么办到的,我用就没问题
    2022-12-16
    有用
    回复 4
    • hongmin
      hongmin
      2022-12-16
      我也不知道呀
      2022-12-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-12-16回复hongmin
      你知道就不会问了   你说服务器不行  什么服务器?是不是我用了 也会报错?
      2022-12-16
      回复
    • hongmin
      hongmin
      2022-12-16
      服务器应该没有问题吧,就是不知道为啥会出现这个情况,代码好像也没错。腾讯云服务器应该没有问题,您如果愿意,可以看下代码有无问题
      2022-12-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-12-16回复hongmin
      我又没代码  没法看 你都封装了
      2022-12-16
      回复
登录 后发表内容