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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容