怎么通过js获取微信用户的openid

怎么通过js获取微信用户的openid,第1张

目前微信服务号在网页获取微信用户openid就这两种方法,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。

1在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo)

2通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了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": []

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存