怎么通过openid获得微信用户信息

怎么通过openid获得微信用户信息,第1张

 通过菜单打开url,在网页页面里获得用户的openid, 获取微信用户的openid目前有两种方法: 一是先回复一条图文消息,将用户的openid带在链接上,然后用户通过点击图文消息的链接打开最终的页面,这么做用户体验非常非常不好,而且每个菜单都得这么干; 二是调用服务号的高级接口,可是我们大部分都是用订阅号。 那怎么通过js获取微信用户的openid? 答:目前微信服务号在网页获取微信用户openid就这两种方法,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。

一、通过全局Access Token获取用户基本信息

1 用户关注以及回复消息的时候,均可以获得用户的OpenID

<xml>

<ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>

<FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>

<CreateTime>1372307736</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[subscribe]]></Event>

<EventKey><![CDATA[]]></EventKey>

</xml>

其中的FromUserName就是OpenID

2 然后使用access_token接口,请求获得全局Access Token

>

返回结果:

{

"access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ",

"expires_in": 7200

}

3 再使用全局ACCESS_TOKEN获取OpenID的详细信息

>

返回如下:

{

"subscribe": 1,

"openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc",

"nickname": "方倍",

"sex": 1,

"language": "zh_CN",

"city": "深圳",

"province": "广东",

"country": "中国",

"headimgurl": ">

"subscribe_time": 1386160805

}

至此,获得用户的基本信息。

二、通过OAuth20方式d出授权页面获得用户基本信息

1 首先配置回调域名

2 构造请求url如下:

>

页面URL中的

scope=snsapi_userinfo 表示应用授权作用域为请求用户信息

★ 如果使用别人的AppID和AppSecret,那么获得的OpenID是那个有高级接口权限的服务号的,这里可以通过消息回复,获取本公众账号下的OpenID,带入回调中,与另一个OpenID进行关联

>

将该链接回复给关注用户,用户点击后,d出应用授权界面

3 回调页面得到链接如下,回调url中将包含参数code

>

或者 >

4 再使用code换取oauth2的授权access_token

url如下:

>

获得授权Access Token:

{

"access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5AI1bw2uqN--2jXoBLIM5d6L9RImvm8Vg8cBAiLpWA8Vw",

"expires_in": 7200,

"refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5CZPAwZksiuz_6x_TfkLoXLU7kdKM2232WDXB3Msuzq1A",

"openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",

"scope": "snsapi_userinfo,"

}

5 再使用授权Access Token获取用户信息

url如下:

>

返回如下

{

"openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",

"nickname": "方倍",

"sex": 1,

"language": "zh_CN",

"city": "Shenzhen",

"province": "Guangdong",

"country": "CN",

"headimgurl": ">

"privilege": []

以上就是关于怎么通过openid获得微信用户信息全部的内容,包括:怎么通过openid获得微信用户信息、微信公众平台的网页跳转时如何获取账号、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9594101.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存