微信公众号/微信小程序获取用户信息以及推送微信模版消息_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相关推荐

  1. 小程序 php wecahtpay,PHP 微信公众号,小程序获取支付参数。微信支付

    PHP 微信公众号,小程序获取支付参数.微信支付 发布时间:2018-09-26 11:19, 浏览次数:278 , 标签: PHP 首先下载微信官方demo放入项目中 地址:https://gith ...

  2. 微信公众号网页授权,获取用户信息以及openid -- PHP后台

    微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...

  3. 微信公众号授权登录,获取用户信息openid(亲测有效)

    需求:客户登录微信公众号进行账号注册,绑定微信openid,下次根据openid验证自动登录. 详细代码:https://download.csdn.net/download/yaya_jn/7492 ...

  4. 微信开放平台之小程序获取用户信息

    说实话,微信开放平台的文档真的是狗屎一般的存在,维护不及时,混乱,每隔一段时间更新一次授权接口!着实让开发者想口吐芬芳了!文档内跳来跳去,找不到一个完整的链路!维护好几套接口文档也就这一家了! 好了, ...

  5. 微信公众号授权登录、获取用户信息(openid)

    配置微信公众号开发环境就不赘述了. 进入正题..... 首先,先理清楚微信登录的两种实现途径(这里我们先演示一种)1.微信开放平台实现,2.微信公众号(微信公众平台)实现. 因为微信登录不同与QQ登录 ...

  6. 微信公众号开发之授权获取用户信息

    微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言.转发.打赏 项目源码参考地址 点我点我--欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开 ...

  7. 微信公众号或者小程序获取token

    errcode":40164,"errmsg":"invalid ip 118.178.180.95 ipv6 ::ffff:118.178.180.95, n ...

  8. 微信开放平台 帐号管理 绑定在同一个开放平台帐号下的公众号及小程序让用户unionid一致...

    开发十年,就只剩下这套架构体系了! >>>    第三方平台在获得此权限后,可以代替已授权的公众号/小程序创建开放平台帐号或进行绑定/解绑操作. 绑定在同一个开放平台帐号下的公众号及 ...

  9. 微信用户绑定java实例_微信开放平台 帐号管理 绑定在同一个开放平台帐号下的公众号及小程序让用户unionid一致...

    第三方平台在获得此权限后,可以代替已授权的公众号/小程序创建开放平台帐号或进行绑定/解绑操作. 绑定在同一个开放平台帐号下的公众号及小程序,用户unionid一致.开发者可调用"获取用户基本 ...

最新文章

  1. CCTouchDispatcher sharedDispatcher 方法过期
  2. .NET Core的日志[2]:将日志输出到控制台
  3. Inception代码解读
  4. SRM614 Div1 Hard
  5. P2371-[国家集训队]墨墨的等式【同余最短路】
  6. Linux多线程开发-线程同步-互斥锁pthread_mutex_t
  7. 201712-2-游戏
  8. Android5.1 Audio计算音量流程
  9. maven中常遇到的一些错误
  10. poj 1637 Sightseeing tour —— 最大流+欧拉回路
  11. 精选13款Spring Boot 优质GitHub开源项目!
  12. displaytag.properties
  13. 电力系统的常用仿真模块MATLAB/SIMULINK(2)
  14. linux ora-12162,【转】ORA-12162问题的解决及其补充
  15. AVFrame的数据填充方式
  16. 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
  17. 供应脂质体形成材料DSPE-PEG-Thiol,DSPE-PEG-SH
  18. 取消研究生论文发表需求,985大学官宣!
  19. PLS-PM with R 偏最小二乘路径建模 (R语言)
  20. S12(X)微控制器的Bootloader程序

热门文章

  1. 论文阅读【6】Autoaugment: Learning augmentation strategies from data
  2. python agg函数_python – 将百分位数传递给pandas agg函数
  3. 如何从手机远程控制uTorrent
  4. (27)第四节课:从零起步在框架中编码实现损失度Loss的计算及其可视化
  5. 穷人冲冲冲:7个有钱人买,穷人不买的东西
  6. 已知一个如图所示的训练数据集,其正例点是x1=(3,3),x1=(4,3),负例点是x3=(1,1),试求最大间隔分离超平面。
  7. 国内很少人知道的潜力币——MOBI
  8. 【Python】模块详解/如何安装模块的方法
  9. java异常类关键字_Java中的异常处理关键字是什么?
  10. Transformers预测未来:关注下一帧和时间序列预测