H5页面静默授权获取微信openid

H5页面静默授权获取微信openid,第1张

前几天和业务谈需求的时候提到了要在微信公众号里面做一个申请页面A。当时我对微信的了解还不是很多,只知道公众号上原来已经做了一个其他功能的页面B,B页面可以获取到客户微信的openid。

当时我们业务同事说只有B页面可以拿到openid,其他的页面都拿不到,所以这个正在谈的A页面入口要做在已有页面B上,然后通过B获取openid之后再传给A。我当时因为不懂也只能听他说,毕竟那个同事说的好像很确定的样子。

事后我仔细想了想,页面B也就是个普通的html呀,凭什么就B页面能获取客户的openid呢?肯定有方法的!于是我就上网搜了一下,最后成功获取了自己的openid,下面介绍下方法吧。

首先,你要有个微信公众号,并且要获得这个接口的权限

点修改之后,在功能设置的“网页授权域名”处添加可以获取微信openid的域名,也就是你自己公众号里面需要获取openid网页的域名。

做完上面这些之后,其实已经可以实现我们想要的效果了,这里因为我不是要做一个完整的功能,我只是想试验下html的页面怎么获取openid,所以过程比较简陋。

这里是微信官方的网页授权方法:

其实看起来微信的说明有那么一大段,但核心的内容也就那么一点点,总结下来就是:先拿到code,再用code去换取网页授权access_token。

因为重定向的url要urlEncode,所以这里我用另一个网站把我要访问的url转换了一下,网址如下:

在微信浏览器里面输入下面的url,appid、redirect_uri改成自己的,其他的都可以不用改。

静默授权:scope=snsapi_base

非静默授权:scope=snsapi_userinfo

一般在微信中是看不到url也没办法输入url的,所以这里我是用微信开发者工具调试的。

输入完静默授权的url后,url自动跳转成有code的,这个code只有5分钟有效期。

同样的,获取openid也就是在微信浏览器中执行一下下面这个url就可以了。appid,secret换成自己的,code用上面一步获取的,其他的都不用改。

运行完后的结果就显示在左边这个图里啦,你看,openid不就拿到了吗。

我没尝试非静默授权的,不过我想应该也差不多吧。这里也不是一套完整的方案告诉大家怎么把这个部署到前端和后端自动获取openid。我只是想分享一下我试验的经历。

//参考 >

1要获取openid,必须要通过OAuth20来完成网页授权才能完成的,通过OAuth20来完成网页授权后,在经过用户许可后,就可以通过授权页面,获得用户的openid。 2通过OAuth20网页授权,要先通过申请高级接口功能。 3申请通过后,还要做一个授权页面,引导用户授权就能获得openid。

有两种方法可以获取微信用户的OpenID:

回复短信,在链接的OpenID用户,然后用户通过链接点击短信的最后一页,所以做好用户体验是非常糟糕的,每个菜单就是这么干的。

用一个调用高级接口的服务号

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

登录微信公众平台后台获取公众号的AppId,设置回调地址。回调地址设置页面向导:开发>接口权限>网页服务>网页授权>修改。开发的项目需要放到已经解析好服务器域名的服务器下,同时把Mptext文件放到服务器根目录下,此时你的服务器必须能联通外网也就是有公网IP,并且80端口是打开的,可以使用阿里云等服务器,默认配置就可以了。

openId是用户在当前公众号下的唯一标识(‘身份z’),就是说通过这个openId,就能区分在这个公众号下具体是哪个用户。

openId有什么用:假如用户A在当前公众号下购买了一件商品,用户的下单信息肯定要存储到后台数据库,那根据什么进行存储呢?openId是用户在当前公众号下的唯一标识,通过openId和用户的下单购买信息进行键值对的数据绑定。那么我要查询该用户购买过什么商品,就能够通过openId去查询,并且数据是唯一的,不会和另外的用户数据有冲突。

拓展:UnionID:一个商家或公司可能会有多个公众号,假如用户A同时都关注了这个公司下面的三个公众号,那么这个用户就会有三个openId(一个公众号就对应一个openID)。如果作为开发者的我们,要对这个用户在这三个公众号下消费的数据进行汇总,我怎么获取到这三份数据(同一用户的)?答案是UnionId,微信开发者文档:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。就是说如果要获取用户在同一公司不同公众号下的数据,后台表结构不但要关联openId,还要关联UnionId。

微信订阅号是可以获取openid的,获取方法如下:

1、微信公众号新的验证方式,比之前的安全性高了,所以要获取openid,也不在直接写在url上;

2、配置 《网页授权获取用户基本信息》的回调地址,也是就url的指向地址,;

在修改里写上url ,但是 不要加>

方法/步骤

微信公众号新的验证方式,比之前的安全性高了,所以要获取openid,也不在直接写在url上

配置 《网页授权获取用户基本信息》的回调地址,也是就我们url的指向地址,

在修改里写上url ,但是 不要加>

以上就是关于H5页面静默授权获取微信openid全部的内容,包括:H5页面静默授权获取微信openid、微信第三方网页授权获取openid并注册(非小程序)、h5怎么获取微信用户openId,h5如何获取微信用户openId等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9792282.html

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

发表评论

登录后才能评论

评论列表(0条)

保存