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