您的位置:首页 > 编程语言 > Python开发

微信小程序python flask发送订阅消息(服务端使用urllib发起post请求)

2020-06-26 16:19 1111 查看

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

原文链接:https://dsx2016.com/?p=1112

公众号:大师兄2016

选择模板

在微信后台选择对应的消息模板

小程序点击订阅

参考文档地址

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html

在页面设置按钮,只有当用户点击,才会弹框提醒,且允许后生效.

点击一次,可发送一次订阅消息

订阅消息

官方文档地址

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html

订阅消息API参数

注意data里面的data参数名和上述的模板消息字段匹配,如thing1,thing2

data = {
   # 用户的openId
   "touser": 'ok2Q65Fte6lDt7ELrXYQ-JQIx2l8',
   # 订阅消息模板id
   "template_id": "KDyVpbwZxn09Jm9LVGrhTTSEnHceEBKI3cRFIU-Z-fE",
   # 要跳转的页面
   "page": "pages/mine/index",
   # 模板消息对应的内容设置
   "data": {
       "thing1": {
           "value": "您的xx服务已到期"
       },
       "thing2": {
           "value": "剩余2天时间"
       },
       "thing3": {
           "value": "请尽快充值续期"
       },
       "thing4": {
           "value": "巴拉巴拉"
       }
   }
}

 

服务端post请求

此处使用项目为python flask

服务端token参考地址(后台接口调用凭据,全局唯一)

https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/backend-api.html

# 服务端token
serverToken = '33_0YjkW9kCMa-0N10emqbOcEzI4G9VCWT_r9E8cU0JfKdtu8EpgAnyGe62DQix7CKvHLtyzBY3eUV1ZSMj2RyzvaPIDuckkozn_MHLahXW11pl3PvVdxxdbVgWY4If78UjYeEOUr0ZW49gUsI3RSGhAAAUVJ'
# 要请求的微信API
url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={serverToken}'.format(serverToken = serverToken)
# 数据格式化(从这里开始对上面的data进行格式化,转成符合post的json参数形式)
data = json.dumps(data)
# 数据格式化
data = bytes(data, 'utf8')
# 数据格式化
request = urllib.request.Request(url)
# post服务器请求
result = urllib.request.urlopen(request, data).read()
# 打印结果
print(result)

 

推送效果

当服务端发起微信订阅API时,对应openid的用户就会收到指定的订阅消息

效果如图

END.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息