美文网首页
微信公众号开发系列-获取微信OpenID

微信公众号开发系列-获取微信OpenID

作者: 头发飘逸 | 来源:发表于2020-11-03 15:01 被阅读0次

在微信开发时候在做消息接口交互的时候须要使用带微信加密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>

參数说明:

參数 描写叙述
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>

參数说明:

參数 描写叙述
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>

參数说明:

參数 描写叙述
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

相关文章

网友评论

      本文标题:微信公众号开发系列-获取微信OpenID

      本文链接:https://www.haomeiwen.com/subject/ftazmktx.html