qq消息连发代码_微信小程序-发送订阅消息

95df665cd60773e348679c4716ada07b.png

最近我们这几周在做小程序项目,期间涉及到了小程序的订阅消息,用户可以主动订阅或退订。所有消息由“服务通知”下发,并附带小程序外链入口,支持用户点击消息进入小程序,效果图是这样的。订阅消息给小程序开发者带来了更好的触达用户的能力。

ba88218f6322b3744f3c991f72ac82fa.png

先调用小程序的https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s接口获取ACCESS_TOKEN,然后调用发送订阅消息的接口地址,是https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN,请求方式是POST请求。请求参数有用户的 openid,所需下发的订阅模板id,模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }。发消息之前,要先申请一个模板。申请完模板选用后,配置关键词和使用场景。

成功调用接口后小程序的某个用户会收到上图中的信息,下面是代码。

def get_access_token():
    """获取access_token"""
    redis_access_token = redishelper.get_access_token()
    if redis_access_token:
        return redis_access_token
    appid = 小程序appid
    secret = 小程序密钥
    url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s" % (appid, secret)
    res = requests.get(url, timeout=3).json()
    # {'access_token': '26_BE30rpxUANOOVFfh5jomKxL9OFsGJem_LtjV28dBaRApOH3cYJhNuuZLgW-DkYGWge4EW3qk1c8P94aT6VrmMppbuxO9M3z4xrPc5JcGi-wcy54bBZzJWem_WP8Rh6fc744rjKQ-IxWy4D0iEHEeAAAMPM',
    #     'expires_in': 7200}
    access_token = res.get("access_token", None)
    expires_in = res.get("expires_in", 1)
    if access_token:
        redishelper.set_access_token(access_token, expires_in)
    return access_token

def base_send_mini_sub_msg(post_data):
    """发送订阅消息"""
    api = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=%s" % get_access_token()
    result = requests.post(api, json=post_data, timeout=3).json()
    print(result)
    errcode = result.get("errcode")
    if errcode == 0:
        return True

def test_msg():
    post_data = { 
        "touser": "用户的open_id", #  具体获取方法自行百度
        "template_id": "消息订阅模板id",
        "data": {
            "thing1": {
                "value": "测试"
            },
            "number2": {
                "value": 2
            },
            "phrase3": {
                "value": "已支付"
            },
            "amount4": {
                "value": 225
            },
        },
        "page": "index",
    }
    base_send_mini_sub_msg(post_data)

注:上面讲解都是后端方面的配置和代码编写,未涉及到前端。

参考微信小程序官方文档

subscribeMessage.send | 微信开放文档​developers.weixin.qq.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值