700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信公众号实现获取用户信息

微信公众号实现获取用户信息

时间:2022-01-04 18:12:24

相关推荐

微信公众号实现获取用户信息

微信订阅号实现获取用户信息应该是许多人都想实现的功能,但是很可惜的告诉大家,微信订阅号明确接口权限明确说了订阅号不支持获取用户信息。有这个权限的只有认证通过的服务号。

首先服务号获取用户信息这个想必大家应该也都知道了。我在这里也就不详细说明了,大致过一下吧。

一、服务号

认证过的服务号微信提供了获取用户信息的接口,我们调用接口即可。

https://developers./doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

第一步:获取code

在服务号里面获取code的授权链接为:

https://open./connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

但是在这里获取code微信提供了两种方式【两种scope】

1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

总结=>

scope=snsapi_base:需要用户手动授权,但是不需要用户关注公众号

scope=snsapi_userinfo:不需要用户手动授权,静默授权,用户无感的,需要用户关注公众号

这两种方法可以根据自己的业务逻辑来定,在我看来,snsapi_userinfo用起来应该更方便一些。

通过上面的授权链接,用户授权之后微信会回调到链接中配置的redirect_uri的地址(会带有两个参数:code、state

获取code后,请求以下链接获取access_token:https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

获取到openId这一步后面的我就不多说了,我认为到这一步就已经可以了。如果后面还有什么问题,可以加我微信,欢迎一起探讨。

二、订阅号

订阅号获取用户信息一开始的时候我也是遇到这个头疼的问题,当代码什么都写好之后,发现自己的是订阅号,一脸懵逼。当时还不是很清楚微信的这一系列的接口啥的。只知道微信订阅号貌似不支持。没有办法,还得申请服务号,又是一段时间,申请后还得认证缴纳300元,又是一段时间。

下面给大家介绍两种方案也算是可以实现订阅号获取用户信息。

个人认为从本质上来说,订阅号是很难有理想的办法实现获取用户信息的。

所以说,大家在申请的时候最好还是申请服务号。但是这种情况在所难免,因为作为公司公众号的话,服务号发文章是有限制的,而订阅号没有,所以就造成了公司一般申请的都为订阅号。

第一种方案

其实也不算是订阅号实现获取用户信息,只适用于我上面说的公司申请的订阅号用户发文,再申请一个服务号用户实现业务。

因此第一种方案的条件就是必须有认证过的服务号。当然有人会说都有服务号了我还用啥订阅号,但是前面说了服务号发文是有限制的。公司发文都会用订阅号。自然也就希望做的业务功能(h5)也放在订阅号。

说了这么多第一种方案就是把在服务号做好的网页直接放在订阅号的栏目上就可以了,对,你没有听错。哈哈哈哈。说的高级一些就是 使用另一个服务号的oauth2.0网页授权接口实现订阅号授权登陆,

但是,重点来了。如果用这种方式的话,就上面说的需要scope=snsapi_userinfo方式,需要用户手动授权,无需关注公众号的模式。

第二种方案

第二种方案就是不管是服务号还是订阅号微信都会提供一个接口【对话服务—>获取用户基本信息】

微信文档:https://developers./doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId

不过这种方式不能你平台在服务号部署一套,然后又在订阅号用这种方法部署了一套,这样是不行的。因为同一个用户再不同的公众号的openid不一样。

实现这个功能需要配置以下

实现方式就是用户点击栏目,给用户发一个链接消息指引用户点击这个链接。以为用户点击的链接可以获取用户的openid,具体这个方案我没有详细的真实案例。后面有实际应用的项目再来给大家更新。

这篇文章就这么多了,欢迎大家加V共同探讨(v:kwqd1656410299)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。