微信小程序给公众号发送模板消息

参考文献:小程序如何向公众号推送消息_fbbqt的博客-CSDN博客_小程序给公众号发信息小程序如何向公众号推送消息https://blog.csdn.net/fbbqt/article/details/122167097

前置条件:

微信公众号:AppId和APPSecret(必须认证)
微信小程序:AppId和APPSecret(必须认证)
微信开放平台(小程序和公众号必须绑定到同一个开放平台,必须认证)
微信公众号配置好服务器配置
微信公众号设置好推送模板

UnionID机制说明:

开发者可通过OpenID(每个应用都拥有自己的openID,它们的openID不一样)来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。(其中的unionid绑定了开放者平台才会有的)

一、通过各自的AppId和APPSecret分别获取access_token并保存起来,因为其过期时间为7200秒,并且每日获取次数有限

微信开放文档https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

https请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

二、小程序前端通过调用wx.login()会获取到一个用户登录凭证code(有效期五分钟),将code传给后台,后台通过appId、APPSecret和code能够获取到这个用户的微信基本信息。文档地址:微信开发文档https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html

https请求方式:GET 
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

(其中的unionID是小程序绑定了开放平台才会有的,如果绑定后还是没有unionID,那就是此用户没有关注与小程序相同主体的公众号)

三、通过微信公众号的access_token获取微信公众号的所有用户信息(公众号中的用户都是已经关注该公众号的)并存储在自己的数据库中

1.先获取所有用户的openID

微信开发文档https://developers.weixin.qq.com/doc/offiaccount/User_Management/Getting_a_User_List.html


https请求方式: GET
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID

2.循环所有用户的openID去微信公众号获取用户详细信息

微信开发文档https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId

https请求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

 四、通过小程序的access_token,小程序用户的unionID到数据中找到用户的公众号openID,要发送的模板ID

微信开发文档icon-default.png?t=M3K6https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/uniform-message/uniformMessage.send.html

https请求方式:POST
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=access_token

五、通过公众号的接收事件推送功能保证本地库中公众号的用户信息为最新消息

首先:开启公众号的服务器配置

之后:关注/取消关注事件

用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL。方便开发者给用户下发欢迎消息或者做帐号的解绑。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值