微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

一、获取用户信息

1、首先我们需要了解什么是微信用户的OpenID

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

2、如何获取用户信息?

(1)先来看看微信给我吗提供的获取OpenID的接口

微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

从接口文档我们可以知道要想获取到用户的openid,首先我们得经过用户同意授权获取到code,然后通过code换取网页授权access_token。

(2)用户同意授权,获取code

微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
在这里我们需要根据自己的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了
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

(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

微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

二、推送微信模版消息

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
只要看到如下返回信息说明模版信息已经发送成功!
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ


完美结束!

上一篇:进程的由来


下一篇:找回账号了!