从上面可以看出,click类型的菜单有key属性,而view类型的菜单没有key属性,与之对应的是url属性。key值是用于判断用户点击了哪个click类型的菜单项。而view类型的菜单没有key属性,无法在公众账号后台判断是否有用户点击了view类型的菜单项,也就没办法知道哪个用户点击了view类型的菜单项,好在腾讯开放了高级接口,运用OAuth20网页授权接口可以获取openid,下面将介绍网页授权获取用户基本信息接口。
网页授权获取用户基本信息
服务号获得高级接口后,默认带有scope参数中的snsapi_base和snsapi_userinfo。这里使用snsapi_base获取openid,把上面的url换成
配置授权回调页面域名
进入微信公众平台后台后,依次进入 服务-我的服务,找到OAuth20网页授权,
点击右侧的修改
授权回调域名配置规范为全域名并且不带>
1、首先,获取微信公众号的用户列表的接口地址是如下图所示,凭据仍然是access_token。
2、然后获取access_token。
3、在代码的实现中,重点还是之前使用到的curl函数,这个函数可以套用到其他的任何位置,微信开发过程中,基本可以当做一个万能函数使用。
4、提交之后返回的数据通过json_decode()函数来转换成php的数组。
5、最后打印输出的结果如图,就完成了。
微信公众号新的验证方式,比之前的安全性高了,所以要获取openid,也不在直接写在url上
配置
《网页授权获取用户基本信息》的回调地址,也是就我们url的指向地址,在修改里写上url
,但是
不要加>
获取用户OpenID
本步骤的作用:
通过输入在上一步获取的Access Token,得到对应用户身份的OpenID。
OpenID是此网站上或应用中唯一对应用户身份的标识,网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。
本步骤在整个流程中的位置:
目录
上一步
1 请求地址
2 请求方法
3 请求参数
4 返回说明
5 错误码说明
下一步
上一步
请参见使用Implicit_Grant方式获取Access_Token
1 请求地址
移动应用:
WAP网站:
2 请求方法
GET
3 请求参数
请求参数请包含如下内容:
参数
是否必须
含义
access_token 必须 在Step1中获取到的access token。
4 返回说明
PC网站接入时,获取到用户OpenID,返回包如下:
callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
WAP网站接入时,返回如下字符串:
client_id=100222222&openid=1704878C
openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。
5 错误码说明
接口调用有错误时,会返回code和msg字段,以url参数对的形式返回,value部分会进行url编码(UTF-8)。
WAP网站接入时,错误码详细信息请参见:9000-9999:根据Access Token获得对应用户身份的openid时,发生错误。
下一步
OpenAPI调用说明
有两种方法可以获取微信用户的OpenID:
回复短信,在链接的OpenID用户,然后用户通过链接点击短信的最后一页,所以做好用户体验是非常糟糕的,每个菜单就是这么干的。
用一个调用高级接口的服务号。
如何通过js获取微信用户的OpenID?
答:目前,在网络接入微信这两种方法的OpenID用户的微信服务号,订阅号只能通过短信或短信开通,用户的OpenID。
以上就是关于怎么给网页授权获取oppenId全部的内容,包括:怎么给网页授权获取oppenId、微信获取openid是什么意思、公众号如何获取用户OpenID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)