我们开发一个发送设备状态消息的后台程序,公众号已经认证通过,模板消息接口已经获得,使用模板消息、统一服务消息Api接口发送消息,得到的回复全部是48001 API接口没有授权,回复如下,在公众号中做过一些设置,其中js接口安全域名设置放置验证文件,因为后台软件问题,前台不能验证,但是这个之前做过类似的项目,使用统一服务模板也可以发送消息,现在进行新的项目开发,消息一直不能发送,不知什么原因。
{"errcode":48001,"errmsg":"api unauthorized rid: 643769e1-59ac4596-022eed7f"}
看微信提供的文档,模板消息有几个接口可以使用,一个是之前使用的统一服务消息接口,一个是模板消息接口,但是这两个接口回复的内容都是API接口
没有授权。
# url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token='+access_token
# url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='+access_tokenx
不论是在这里还是在度娘都有很大遇到类似API接口授权问题的,但是都没有一个明确的解决方案,微信官方对此也没有一个权威的说法,不知道怎么操作,
,恳请大神予以详细说明,解惑。
access_token使用的是公众APPID和密钥获得。
认证服务号?这个确认有接口权限了吗?
url = 'https://api.weixin.qq.com/cgi-bin/token'
params = {
'grant_type': 'client_credential',
'appid': 'wx0c9fd0f8cbf347c7', # 公众号id
'secret': '8f073181b34f9a3fe39b8de45a6a37b8',
}
try:
response = requests.get(url=url, params=params)
res = response.json()
access_token = res['access_token']
print('res',res)
print('access_token',access_token)
except Exception as e:
print(e)
url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='+access_token
print('url',url)
headers = {"Content-Type": "application/json;charset=utf8"}
params = {
"touser":"oMe5a5Vde5r8uNfHNI86nD5wL0NA",
"template_id":"SYnaga93yBdJFR5U1LAXHYcAQ0p4lUuX38W925aORjE",
# "url":"http://weixin.qq.com/download",
"topcolor":"#FF0000",
"data": {
"first": {
# "value": device['first']
"value": "您的设备已触发设备报警。"
},
"keyword1": {
# "value": device['device_num']
"value": "1222032091"
},
"keyword2": {
# "value": device['device_name']
"value": "温湿度恒温箱"
},
"keyword3": {
# "value": device['get_time']
"value": "2023年03月07日19时24分"
},
"keyword4": {
# "value": device['content']
"value": "温度超标 45°C"
},
"remark": {
"value": "2023年03月07日19时24分"
},
},
}
res = requests.post(url, json=params, timeout=5)
print('res',res)
使用这个获得
{"errcode":43002,"errmsg":"require POST method rid: 64379a14-4737a39e-56fc631f"}