评论

敏感词检测msg_sec_check 47001踩坑记录

敏感词检测msg_sec_check 47001踩坑记录

先上msg_sec_check(v2)官方文档 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.msgSecCheck.html

其中请求地址和请求参数部分如下

我一直以为微信文档中的请求参数部分就是全都放到body里的参数,即使是access_token,只不过在规定接口时,参数重复了、仅把它当作冗余参数而已。

但是只要你的请求body里带上了 access_token ,结果代码一定的是47001

其实服务端API说明里写了:

请求参数说明
对于 GET 请求,请求参数应以 QueryString 的形式写在 URL 中。
对于 POST 请求,部分参数需以 QueryString 的形式写在 URL 中(一般只有 access_token,如有额外参数会在文档里的 URL 中体现),其他参数如无特殊说明均以 JSON 字符串格式写在 POST 请求的 body 中。

这里的access_token 需以 QueryString的形式写在URL中,意思就是不要写在请求body里

但是比较坑的就是其他有些接口(例如发送模板消息)就不会有这个问题

不知道有有没相同遭遇的朋友T_T



最后一次编辑于  2022-07-08  
点赞 0
收藏
评论

3 个评论

  • 包建强
    包建强
    2023-09-05

    您好,我也有类似问题,但是我搞了一天了,也没成功。

    我是在自己的服务器,写了一个接口,给小程序调用。

    小程序在启动时,调用wx.login获取到openid,然后调用我的接口,把这个openid传过来。

    在我的接口中,

    url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + 我的access_token

    payload={'content': '敏感词',

    'scene': 2,

    'openid': 获取到的openid,

    'version': 2}


    headers = {

      'Content-Type': 'application/json'

    }

    response = requests.request("POST", url, headers=headers, data=payload)


    2023-09-05
    赞同
    回复
  • AA慧朋同城
    AA慧朋同城
    2023-05-12

    怎么改的啊

    2023-05-12
    赞同
    回复
  • 哎呀你干嘛
    哎呀你干嘛
    2022-07-26

    感谢,我之前一直都url 和body里面都带了token,没发现问题,只有今天用这个接口才发现一直是47001.,果然去掉之后就好了。

    2022-07-26
    赞同
    回复
登录 后发表内容