SpringBoot打通微信公众号模板消息通知

  • 前言
  • 一、为什么使用微信公众号模板消息?
  • 二、实现原理
  • 三、实现步骤
    • 1.创建微信开放平台账号
    • 2.绑定小程序账号
    • 3.绑定公众号账号
    • 4.公众号申请开通模板消息
    • 5.公众号配置
    • 6.进行微信公众号开发
      • 获取用户信息
      • 模板消息推送
    • 7.小程序绑定
      • 配置业务域名
      • 实现思路
  • 总结
  • 官方文档地址

前言

最近在做OA项目,一个项目有个业务场景是:当上一个用户审核后,需要发送通知给下一节点的用户。因为我们只有小程序端和PC端,所以考虑到采用微信消息的方式


一、为什么使用微信公众号模板消息?

当前项目于只有微信小程序端,能够选择的方式不多。查看微信官方文档发现,小程序和公众号自有的消息订阅功能,普通账号只允许开通一次性订阅功能,只有特定行业的账号才允许开通长期订阅功能。最后发现公众号的消息模板比较符合业务场景。实现的效果类似每次消费后,美团公众号都会推送相应消息,无需多次授权。

二、实现原理

利用微信开放平台的unionID,实现多应用间用户共享。用户关注相关联的公众号之后,可以拿到用户的unionID与openID,此时如果用户再登录小程序,也可以拿到小程序对应的unionID与openID,因为微信体系中,同一平台下各应用可以通过unionID进行用户关联,所以,此时可以通过小程序的unionID找到公众号对应的openID进行模板消息推送。

三、实现步骤

1.创建微信开放平台账号

2.绑定小程序账号

3.绑定公众号账号

注意:只有服务号才能使用消息模板功能,在申请公众号时务必注意。

4.公众号申请开通模板消息

登录公众号,点击新的功能,找到模板消息,申请开通即可

5.公众号配置

不熟悉公众号开发的可以自行百度相关必要配置信息,主要是标红部分

6.进行微信公众号开发

这里只贴关键逻辑代码,用户关注公众号后,微信服务器会推送一条消息到我们配置的服务器接口,此时,我们需要解析这部分信息,将openID和unionID存起来即可。

获取用户信息

获取accesstoken GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
获取用户信息 GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

模板消息推送

POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

7.小程序绑定

配置业务域名

实现思路

小程序可调用原生wx.login()方法获取code,再调用微信jscode2session 接口换取openID**(此接口也会返回unionID信息)**,因为此处调用不需要小程序授权,所以可以静默调用。

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


总结

现在大部分场景的消息推送功能都可以通过微信公众号模板来实现,无论是APP、小程序、网页应用,只要将对应的应用绑定到同一个微信开放平台账号下。
如果需要公众号跳转小程序,只需要将公众号与小程序绑定,然后在推送的模板消息中设置跳转的小程序appID与pagePath参数即可。

官方文档地址

获取公众号accessToken
获取公众号用户信息(openID和unionID)
模板消息推送
获取小程序AccessToken
获取小程序openID和unionId信息

SpringBoot打通微信公众号模板消息通知相关推荐

  1. 【微信开发第二章】SpringBoot实现微信公众号普通消息和模板消息回复

    前言 在进行微信公众号业务开发的时候,微信公众号的消息回复是非常重要的一环,而微信公众号消息回复分为:普通消息自动回复和模板消息回复.该篇文章会先使用微信测试工具过一遍流程,再使用代码进行实现,并且每 ...

  2. 公众平台模板消息所在行业_微信公众号模板消息功能怎么快速推送?

    公众号平台上模板消息功能仅支持添加模板和更改所在行业,不支持模板消息推送,如果想要实现更多功能效果,可以使用微号帮平台的模板消息群发功能实现,也可以通过公众号平台的接口自己开发实现功能,均可以达到微信 ...

  3. 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?

    当下,公众平台模板消息功能仅支持添加模板,修改所在行业,如果想要群发模板消息,可以自己根据公众平台的接口编程实现,也可通过微号帮平台的模板消息群发功能实现,均可以让微信公众号群发模板消息,模板消息即按 ...

  4. 微信公众号-模板消息管理

    微信公众号-模板消息管理 通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通 ...

  5. 微信小程序——订阅消息与微信公众号模板消息

    订阅消息 一次性订阅消息 某个按钮(并且只能是用户自己就手动点击的)操作调起来这个允许授权弹窗,允许通知之后也只能发送一次消息.即便点上[总是保持一上选择,不再询问]也只是在下次点击同一个按钮时默认允 ...

  6. 公众平台模板消息所在行业_微信公众号模板消息群发第三方平台可以免费试用吗?...

    使用公众号后台模板消息功能,只能添加模板和修改所在行业,如果想要群发模板消息,可以通过公众号后台的接口自己编程实现,也可使用第三方平台微号帮功能模板消息群发,都可以实现微信公众号模板消息群发,突破公众 ...

  7. 公众号获取用户手机号_微信公众号模板消息软件怎么指定用户发送?

    使用公众平台模板消息功能,仅支持添加模板和更改所在行业,如果想要实现更多功能效果,可以通过微号帮平台的模板消息群发功能实现,也可以自己根据公众平台的开发接口编程实现功能,均能实现微信公众号模板消息指定 ...

  8. asp群发微信公众号模板消息代码asp写的

    asp群发微信公众号模板消息代码asp写的,主要用于对已经入库的会员群发模板消息 <% '=群发模板信息=转载请保留作者信息:18611436777======== If Request(&qu ...

  9. 微信公众号 模板消息开发

    微信公众号 模板消息开发 1. 添加模板 1)登录公众号 2)添加插件 登录之后,在左边栏的功能里面点击[添加功能插件]->[模板消息] 进入后,然后开始审核,大概要1-3天时间.下面为我们正在 ...

  10. java程序集成微信公众号模板消息功能

    要在 Java 程序中集成微信公众号模板消息功能,您需要按照以下步骤进行: 在微信公众平台上申请并获取您的公众号的 appid 和 appsecret. 使用 appid 和 appsecret 调用 ...

最新文章

  1. pycharm使用github
  2. Swift - 使用set,get确保索引加减在正常的范围内
  3. Matlab数据标准化
  4. 属于python应用领域的有数据可视化_Python数据可视化
  5. QString 字符编码
  6. Codeforces Round #655 (Div. 2) B C
  7. 剑指Offer之寻找链表倒数第k个节点
  8. cpu压测 windows_小白求问怎么用AIDA64进行CPU压力测试
  9. 身份证护照扫描仪助力酒店信息录入
  10. 创业1年半,烧光130万:我总结了哪些教训?
  11. OSChina 周三乱弹 ——怎么样防止隔壁老王
  12. 数据系统架构-5.实时离线统计系统
  13. windows word2010 PPT
  14. Excel:妙用自定义函数让班级名称自动化(转)
  15. 图论(9)图的连通度
  16. 【UML 建模】在线UML建模工具 ProcessOn 使用具体解释
  17. 化妆品企业迎来的机遇和挑战
  18. 硬件加速不支持的问题
  19. python和revit_Python 與 Revit
  20. Codeforces Round #428 (Div. 2):A. Arya and Bran

热门文章

  1. 基于小波Block-Thresholding的降噪方法
  2. 图片格式转换怎么做?教你几招搞定图片格式转换
  3. 手机号码格式和邮箱格式校正
  4. 23000字,讲清信息流广告数据分析。
  5. 詹克团:《区块链:人类劳动组织的未来形式》
  6. 笔记本计算机并行口什么开启,笔记本连接电脑台式机的方法
  7. 怎么引流推广?10种有效引流吸粉方法
  8. 做短视频的几个小技巧,助你吸粉引流
  9. OPICS 节假日维护
  10. PC微信逆向之发送消息