微信内置浏览器如何获得 openid

微信内置浏览器如何获得 openid,第1张

1、要获取openid,必须要通过OAuth20来完成网页授权才能完成的,通过OAuth20来完成网页授权后,在经过用户许可后,就可以通过授权页面,获得用户的openid

2、如何通过OAuth20网页授权呢?要先通过申请高级接口功能

3、申请通过后,还要做一个授权页面,引导用户授权就能获得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。

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

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

首先你的网站入口必须是微信服务号(开通认证、拥有获取用户openid权限;订阅号是不行的)。

网页通过微信的Oauth2认证链接。

然后通过服务号菜单链接进入网站

自己根据微信提供的oauth2接口文档,编写oauth2php内容,(网上有相关官方SDK)

按下面的步骤:

1获取用户openid

2获取accesson_token

3获取用户信息

4授权注册用户,若已存在该用户则直接进入网站。

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

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

原文地址: http://outofmemory.cn/web/9316736.html

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

发表评论

登录后才能评论

评论列表(0条)

保存