一、背景1.最近开发的一个小程序项目需要通过服务号来推送通知。但是在最开始开发小程序的时候并没有考虑到这个功能。
2.我在做小程序与服务号用户关联的过程中也是踩了无数坑,所以我会在这篇文章中给出自己摸索出的解决方案。
二、准备条件3.预备知识:
4.小程序openid:小程序用户的唯一id
5.公众号openid:公众号用户的唯一id
6.unionid:同一用户,对同一个微信开放平台下的不同应用,unionid是相同的
7.准备:
8.1.将小程序与公众号绑定(绑定后才可获取unionid),官方文档:小程序与公众号绑定获取unionid
9.2.接入微信公众平台开发,也就是给服务号配置一下开发者服务器。当有用户关注/取消服务号时,微信服务器会推送关注/取消的事件给我们的服务器。官方文档:接入微信公众平台开发
10.3.获取公众号用户列表,即所有用户的公众号openid。官方文档:获取公众号用户列表
11.4.通过公众号openid获取用户的unionid。官方文档:通过公众号openid获取unionid
12.5.推送服务号消息。官方文档:公众号发送模版消息
13.注意:
14.1.在上述的一些接口中,需要获取access_token。小程序和公众号的access_token是不同的,需要用各自的appid和secret去获取。
15.2.access_token每天只能获取200次,有效期是7200秒。所以应该把它加入缓存,而不是每次都去获取新的access_token。
三、开始开发16.将小程序用户与公众号用户关联:
17.小程序用户openid→unionid←公众号用户openid
18.要想将小程序与公众号用户关联,第一件事就是获取用户的unionid。
19.我们可以在两种情况下获取用户的unionid:
20.一、如果用户已经关注了公众号,那么在用户登录的时候,就可以获取到unionid
21.二、如果用户没有关注公众号,那么得让前端调用wx.getUserInfo,把加密数据给后端解密拿到unionid。
22.解密需要session_key,而session_key又有有效期,得注意它过期的情况。
23.当用户关注公众号时,微信会推送事件给我们(本文准备条件的第2条)。
24.通过关注事件,我们可以拿到用户的公众号openid,再获取unionid(本文准备条件的第4条)。拿到unionid后,去数据库查询这个unionid的用户,并把公众号openid保存。
25.但是,还有两个情况没有考虑到:
26.一、在我们开发之前,已经关注了公众号的用户没有去关联
27.解决方案:
28.获取微信公众号的用户列表,再依次获取用户unionid(本文准备条件的第3、4条)。注意,此操作非常耗时。
29.二、用户先关注了公众号,但是从来没用过小程序(数据库里没有unionid,导致无法关联)
30.解决方案:
31.新建一张表,把这个公众号用户先记录下来。当小程序用户登录时,先检查一遍这张表尝试关联。
32.至此,小程序用户与公众号用户就已经完成了关联。
33.发送模版消息:
34.这个就很简单了,照着官方文档(本文准备条件的第5条)做就行了。
35.需要注意的是,参数别写错了,我就是把miniprogram放到data里面去了,搞的不能跳转小程序,害得我找了半天问题TT
36.最后附上发送模版消息的python代码:
defsend_oa_msg(oa_openid,template_id,jump_param,param):"""发送模版消息"""oa_token=get_oa_access_token()url='https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={oa_token}'.format(oa_token=oa_token)post_data={"touser":oa_openid,"template_id":template_id,"miniprogram":jump_param,"data":param}res=requests.post(url,json=post_data)result=res.json()ifresult['errcode']==0:returnTrueelse:returnFalse
微信公众号关联不了小程序-微信小程序关联公众号(服务号)推送通知消息-微信关联小程序
浏览量:3725
时间:
来源:狡猾的皮球
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。












