先上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
您好,我也有类似问题,但是我搞了一天了,也没成功。
我是在自己的服务器,写了一个接口,给小程序调用。
小程序在启动时,调用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)
怎么改的啊
感谢,我之前一直都url 和body里面都带了token,没发现问题,只有今天用这个接口才发现一直是47001.,果然去掉之后就好了。