微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
一、获取用户信息
1、首先我们需要了解什么是微信用户的OpenID
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。
2、如何获取用户信息?
(1)先来看看微信给我吗提供的获取OpenID的接口
从接口文档我们可以知道要想获取到用户的openid,首先我们得经过用户同意授权获取到code,然后通过code换取网页授权access_token。
(2)用户同意授权,获取code
在这里我们需要根据自己的appid引导用户访问链接进行授权操作(其中分为静默授权和用户点击同意授权,具体可查看官方文档),然后我们就可以在我们自己设置的回调地址(redirect_uri)中获取到我们需要的code(回调地址会携带code=code&state=MQ这两个参数,我们只需要获取到我们需要的code即可)。
参考链接(请在微信客户端中打开此链接体验)一:
scope为snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
参考链接(请在微信客户端中打开此链接体验)二:
scope为snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
(3)此时我们已经拿到code,就可以通过code换取网页授权access_token和openid了
获取code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
这里我们只需要入参appid、secret、code、grant_type即可成功获取到access_token和openid了
(4)接下来我们只要拿到access_token和openid就可以为所欲为的获取用户信息了,嘻嘻嘻~~~
注意:这里获取用户信息接口需要之前获取code是接口的入参scope=snsapi_userinfo才能直接获取用户信息
请求示例:
接口调用请求说明 http请求方式: GET
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
二、推送微信模版消息
1、设置模版消息
给个官方文档地址:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
请自行按照官方文档就行设置,这里不进行过多讲解。简单来说就是设置好自己的模版后拿到模版ID(template_id),然后通过用户的OpenId和template_id就可以发送模版消息给到用户。
2、发送模版信息接口讲解
http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
请求示例:
{"touser":"OPENID","template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY","url":"http://weixin.qq.com/download", "miniprogram":{"appid":"xiaochengxuappid12345","pagepath":"index?foo=bar"}, "data":{"first": {"value":"恭喜你购买成功!","color":"#173177"},"keyword1":{"value":"巧克力","color":"#173177"},"keyword2": {"value":"39.8元","color":"#173177"},"keyword3": {"value":"2014年9月22日","color":"#173177"},"remark":{"value":"欢迎再次购买!","color":"#173177"}}}
参数说明:
只要看到如下返回信息说明模版信息已经发送成功!
完美结束!
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ相关推荐
- 小程序 php wecahtpay,PHP 微信公众号,小程序获取支付参数。微信支付
PHP 微信公众号,小程序获取支付参数.微信支付 发布时间:2018-09-26 11:19, 浏览次数:278 , 标签: PHP 首先下载微信官方demo放入项目中 地址:https://gith ...
- 微信公众号网页授权,获取用户信息以及openid -- PHP后台
微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...
- 微信公众号授权登录,获取用户信息openid(亲测有效)
需求:客户登录微信公众号进行账号注册,绑定微信openid,下次根据openid验证自动登录. 详细代码:https://download.csdn.net/download/yaya_jn/7492 ...
- 微信开放平台之小程序获取用户信息
说实话,微信开放平台的文档真的是狗屎一般的存在,维护不及时,混乱,每隔一段时间更新一次授权接口!着实让开发者想口吐芬芳了!文档内跳来跳去,找不到一个完整的链路!维护好几套接口文档也就这一家了! 好了, ...
- 微信公众号授权登录、获取用户信息(openid)
配置微信公众号开发环境就不赘述了. 进入正题..... 首先,先理清楚微信登录的两种实现途径(这里我们先演示一种)1.微信开放平台实现,2.微信公众号(微信公众平台)实现. 因为微信登录不同与QQ登录 ...
- 微信公众号开发之授权获取用户信息
微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言.转发.打赏 项目源码参考地址 点我点我--欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开 ...
- 微信公众号或者小程序获取token
errcode":40164,"errmsg":"invalid ip 118.178.180.95 ipv6 ::ffff:118.178.180.95, n ...
- 微信开放平台 帐号管理 绑定在同一个开放平台帐号下的公众号及小程序让用户unionid一致...
开发十年,就只剩下这套架构体系了! >>> 第三方平台在获得此权限后,可以代替已授权的公众号/小程序创建开放平台帐号或进行绑定/解绑操作. 绑定在同一个开放平台帐号下的公众号及 ...
- 微信用户绑定java实例_微信开放平台 帐号管理 绑定在同一个开放平台帐号下的公众号及小程序让用户unionid一致...
第三方平台在获得此权限后,可以代替已授权的公众号/小程序创建开放平台帐号或进行绑定/解绑操作. 绑定在同一个开放平台帐号下的公众号及小程序,用户unionid一致.开发者可调用"获取用户基本 ...
最新文章
- CCTouchDispatcher sharedDispatcher 方法过期
- .NET Core的日志[2]:将日志输出到控制台
- Inception代码解读
- SRM614 Div1 Hard
- P2371-[国家集训队]墨墨的等式【同余最短路】
- Linux多线程开发-线程同步-互斥锁pthread_mutex_t
- 201712-2-游戏
- Android5.1 Audio计算音量流程
- maven中常遇到的一些错误
- poj 1637 Sightseeing tour —— 最大流+欧拉回路
- 精选13款Spring Boot 优质GitHub开源项目!
- displaytag.properties
- 电力系统的常用仿真模块MATLAB/SIMULINK(2)
- linux ora-12162,【转】ORA-12162问题的解决及其补充
- AVFrame的数据填充方式
- 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
- 供应脂质体形成材料DSPE-PEG-Thiol,DSPE-PEG-SH
- 取消研究生论文发表需求,985大学官宣!
- PLS-PM with R 偏最小二乘路径建模 (R语言)
- S12(X)微控制器的Bootloader程序
热门文章
- 论文阅读【6】Autoaugment: Learning augmentation strategies from data
- python agg函数_python – 将百分位数传递给pandas agg函数
- 如何从手机远程控制uTorrent
- (27)第四节课:从零起步在框架中编码实现损失度Loss的计算及其可视化
- 穷人冲冲冲:7个有钱人买,穷人不买的东西
- 已知一个如图所示的训练数据集,其正例点是x1=(3,3),x1=(4,3),负例点是x3=(1,1),试求最大间隔分离超平面。
- 国内很少人知道的潜力币——MOBI
- 【Python】模块详解/如何安装模块的方法
- java异常类关键字_Java中的异常处理关键字是什么?
- Transformers预测未来:关注下一帧和时间序列预测