当前位置:网站首页>实现微信公众号H5消息推送的超级详细步骤
实现微信公众号H5消息推送的超级详细步骤
2022-07-06 09:10:00 【Eric-x】
前言
前段时间在项目中做了一个给H5消息推送的功能,特此记录一下,感兴趣或者有需要的小伙伴可以查阅一下,因为其实代码并不难,我觉得对于初学者来说难的是一些概念和具体实现的过程,所以我会先使用微信提供的测试接口先走一遍流程,在后面再将对应的实现代码贴出来,这样不管是我还是你对整体流程的实现也会有一个更清楚的认识,如果有哪些不对还望指出(抱拳感谢)
效果图如下:
文章标题
1、概念
我觉得对接第三方接口之前一定要先明白文档中一些关键词的概念,所代表的的含义,这样才不至于看文档迷糊了(其实我在做的时候看第三方接口文档也很迷糊,特别是微信的,这里吐槽一下,还是阿里的文档好,通俗易懂)
在这里就不多说,简单介绍一下我们这个功能中用到了几个概念:微信服务号官方文档链接
咋们这里尽量只说重点,其他就不多说
1、Access token
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。
这句话是官方说的,其实我们可以理解为:token就是服务号的身份证,具有唯一性,并且这个凭据是需要我们服务号的APPID和secret这两个值来获取的。其实还有一个值,grant_type,关于这个值这里不多说,网上有很多介绍,获取access_token填写client_credential即可。
2、APPID
第三方用户唯一凭证,我们只要开通了服务号就会有这玩意
3、secret
第三方用户唯一凭证密钥,即appsecret
官方介绍如下:
APPID和secret在我们注册服务号的时候就可以获取到,那么有了这两个值,我们就可以通过这两个值去请求官方给定的链接来获取我们的token
2、获取Token
对于学习者来说,申请服务号还是很费劲的,所以,微信官方很贴心的给我们准备测试的接口:微信开发测试接口、进去这个链接,拿微信扫码登录,就可以获得:APPID和appsecret了
然后我们可以通过微信提供的 测试接口,将我们的APPID和APPsecret填进去,就能获取到我们的token了,token有效期默认是两个小时,如下
3、添加消息模板
上面我们已经走通了第一步,那么这是不够的,如果需要给关注我们服务号(公众号)的用户发送消息,我们是需要一个消息模板的,模板在这里添加
这里为了照顾初学者,我把我的测试模板内容放在这里供大家直接复制
{
{
first.DATA}}
通知内容:{
{
keyword1.DATA}}
{
{
remark.DATA}}
4、获取用户的openId
关于openId,这里特别说明一下,openId是针对于用户的,跟我们服务号的APPID是没有任何关系的哈(关于这个我在刚开始就混淆了),我们的微信只要关注了一个公众号,那么这个公众号就给我们的微信分配一个openId,也是唯一的,这里需要注意的,即使我们取消关注,第二次关注那么openid还是之前的,是不会变化的。
因为我们是给指定用户进行通知,那么我们就需要获取该用户的openId
5、测试
好,现在我们万事具备,可以直接进行测试了,依旧,打开我们的 微信调试工具
1、先获取我们的token,输入APPID和秘钥,直接点击获取,然后会自动生成Token,我们直接复制保留
2、悬着向用户发送详细,然后拿token和消息内容即可
上面就是大概流程和思路了,知道了具体的实现流程,那么代码也就不难写了,关于对应的代码下次再写
边栏推荐
- Docker MySQL solves time zone problems
- Vh6501 Learning Series
- If someone asks you about the consistency of database cache, send this article directly to him
- Single chip microcomputer realizes modular programming: Thinking + example + system tutorial (the degree of practicality is appalling)
- Upload vulnerability
- Installation de la pagode et déploiement du projet flask
- Programmation défensive en langage C dans le développement intégré
- C杂讲 动态链表操作 再讲
- CAPL脚本中关于相对路径/绝对路径操作的几个傻傻分不清的内置函数
- Learning SCM is of great help to society
猜你喜欢
What you have to know about network IO model
Installation de la pagode et déploiement du projet flask
再有人问你数据库缓存一致性的问题,直接把这篇文章发给他
Mexican SQL manual injection vulnerability test (mongodb database) problem solution
Counter attack of noodles: redis asked 52 questions in a series, with detailed pictures and pictures. Now the interview is stable
在CANoe中通过Panel面板控制Test Module 运行(初级)
15 medical registration system_ [appointment registration]
Listen to my advice and learn according to this embedded curriculum content and curriculum system
17 medical registration system_ [wechat Payment]
Regular expressions are actually very simple
随机推荐
flask运维脚本(长时间运行)
在CANoe中通過Panel面板控制Test Module 運行(初級)
Compress decompress
Cooperative development in embedded -- function pointer
Some thoughts on the study of 51 single chip microcomputer
Routes and resources of AI
Combined search /dfs solution - leetcode daily question - number of 1020 enclaves
零基础学习单片机切记这四点要求,少走弯路
Preliminary introduction to C miscellaneous lecture document
MySQL实战优化高手11 从数据的增删改开始讲起,回顾一下Buffer Pool在数据库里的地位
How does the single chip microcomputer execute the main function from power on reset?
tn-c为何不可用2p断路器?
Release of the sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
CAPL脚本中关于相对路径/绝对路径操作的几个傻傻分不清的内置函数
Programmation défensive en langage C dans le développement intégré
华南技术栈CNN+Bilstm+Attention
MySQL实战优化高手07 生产经验:如何对生产环境中的数据库进行360度无死角压测?
MySQL实战优化高手02 为了执行SQL语句,你知道MySQL用了什么样的架构设计吗?
Carolyn Rosé博士的社交互通演讲记录
Listen to my advice and learn according to this embedded curriculum content and curriculum system