在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID。接收事件推送方式和网页授权获取用户基本信息方式获取。
# 1、通过接收被动消息方式获取OpenId(接收事件推送方式)。下面事件中都能够获取到OpenID
# 关注/取消关注事件
用户在关注与取消关注公众号时。微信会把这个事件推送到开发人员填写的URL。方便开发人员给用户下发欢迎消息或者做帐号的解绑。
# 微信server在五秒内收不到响应会断掉连接,而且又一次发起请求,总共重试三次
关于重试的消息排重,推荐使用FromUserName + CreateTime 排重。
# 假如server无法保证在五秒内处理并回复,能够直接回复空串,微信server不会对此作不论什么处理,而且不会发起重试。
推送XML数据包演示样例:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>
1
2
3
4
5
6
7
2
3
4
5
6
7
參数说明:
參数 | 描写叙述 |
---|---|
ToUserName | 开发人员微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 消息类型,event |
Event | 事件类型,subscribe(订阅)、unsubscribe(取消订阅) |
# 扫描带參数二维码事件
用户扫描带场景值二维码时,可能推送下面两种事件:
假设用户还未关注公众号,则用户能够关注公众号。关注后微信会将带场景值关注事件推送给开发人员。 假设用户已经关注公众号。则微信会将带场景值扫描事件推送给开发人员。
# 1. 用户未关注时,进行关注后的事件推送
推送XML数据包演示样例:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[qrscene_123123]]></EventKey>
<Ticket><![CDATA[TICKET]]></Ticket>
</xml>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
參数说明:
參数 | 描写叙述 |
---|---|
ToUserName | 开发人员微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 消息类型,event |
Event | 事件类型,subscribe |
EventKey | 事件KEY值。qrscene_为前缀,后面为二维码的參数值 |
Ticket | 二维码的ticket,可用来换取二维码图片 |
# 2. 用户已关注时的事件推送
推送XML数据包演示样例:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[SCAN]]></Event>
<EventKey><![CDATA[SCENE_VALUE]]></EventKey>
<Ticket><![CDATA[TICKET]]></Ticket>
</xml>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
參数说明:
參数 | 描写叙述 |
---|---|
ToUserName | 开发人员微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 消息类型,event |
Event | 事件类型,SCAN |
EventKey | 事件KEY值。qrscene_为前缀,后面为二维码的參数值 |
Ticket | 二维码的ticket,可用来换取二维码图片 |
# 2、通过第三方网页授权方式获取OpenID,採用第三方网页授权(OAuth2.0授权登录)
这里附上获取code方式 https://www.jianshu.com/p/1388f9bb885b
这个小伙伴写的也挺好的,可以看下 https://www.cnblogs.com/zsychanpin/p/6719196.html
留言须知
对此博客有任何疑问欢迎留言
留言建议留下你的qq号/昵称(输入qq号自动拉取昵称),方便及时收到博主回复
本站支持丰富的表情,满足你的个性需求
请不要评论违反中国法律的内容。