微信公众号开发数据传递到h5如何实现

微信公众号开发数据传递到h5如何实现,第1张

公众号菜单中打开H5链接是固定的,没有办法动态传递参数,但是,可以通过其他方式来实现这个需求。

首先从思路上来说,这里没有办法通过传递的方式把数据由公众号菜单传入H5页面,但是可以通过在H5页面中获取用户信息的方式实现。这里提供下实现这个需求的方法和思路,仅供参考。

主要思路就是通过自定义菜单配合网页授权接口获取用户信息。具体实现方法如下:

1首先需要在公众号菜单中定义菜单类型为view,然后到指定的链接地址。

2然后在该页面上使用微信的网页授权接口,即可获取用户信息。

这里有几个细节说明下。

微信网页授权接口scope分为snsapi_base和snsapi_userinfo,前者是获取用户openid,后者为获取用户基本信息的,如果用户已经关注公众号并通过自定义菜单进入该H5页面,则这两个类型的授权接口都是静默授权,即在用户无感知的情况下获取信息。其他情况获取用户基本信息是需要用户手动授权才可以。

在网页授权时使用到的access_token和调用微信其他接口的access_token是不一样的,网页授权使用的access_token是通过网页OAuth授权以后得到的。网页授权同样支持unionID机制,所以如果需要多个客户端关联用户信息的时候注意下使用unionID而不是openID。

至此,这个需求的实现思路以及说完,具体的实现流程和注意事项,以及接口数据相关信息可以参见微信公众号开发文档之网页授权。

微信公众号获取用户信息有两种:snsapi_base和scope_userinfo

>

首先,你的平台必须是服务号+微信认证;

其次,你的在后台需要申请微信对应的网站或者APP的接口。

还有一种获取的表现,你申请个微社区,进入社区的时候就会获取到用户名和头像,不过这些你都不可查看。

简单的说就是,他就像是微信给你的一个接口,你在打开某些网站申请注册的时候能用QQ直接注册一个道理。

微信公众平台分为订阅号和服务号,服务号提供9大接口,需要通过微信认证后才能使用这些接口。认证费用300元。下面是接口的大致介绍:

语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别出的文本内容。

客服接口:通过客服接口,公众号可以在用户发送过消息的24小时内,向用户回复消息。

OAuth20网页授权:通过网页授权接口,公众号可以请求用户授权。

生成带参数二维码:通过该接口,公众号可以获得一系列携带不同参数的二维码,在用户扫描关注公众号后,公众号可以根据参数分析各二维码的效果。

获取用户地理位置:通过该接口,公众号能够获得用户进入公众号会话时的地理位置(需要用户同意)。

获取用户基本信息:通过该接口,公众号可以根据加密后的用户OpenID,获取用户的基础信息,包括头像、昵称、性别、地区。

获取关注者列表:通过该接口,公众号可以获取所有关注者的OpenID。

用户分组接口:通过分组接口,公众号可以在后台为用户移动分组,或创建、修改分组。

上传下载多媒体文件:通过该接口,公众号可以在需要时在微信服务器上传下载多媒体文件。

微信小程序有两种获取用户信息的方案。

1、不包含敏感信息openId 的json对象(包含:nickname、avatarUrl等基本信息) 

2、包含敏感信息openId的基本信息。

第一种获取方案

1、首先调用wxlogin()接口 让用户授权验证,也就是我们肉眼观察到的,你是否对xxxxx授权这种信息。 

2、用户成功授权后,调用wxgetUserInfo() 接口获取用户信息。

完整代码如下

wxlogin({ success:function(){ wxgetUserInfo({  success:function(res){  var simpleUser = resuserInfo;  consolelog(simpleUsernickName);  } }); }});

第二种比较复杂了,需要与后台进行交互才能获得userInfo,但是这种方案获得的数据是完整的(包含openId)。

1、调用wxlogin()接口 授权 在success 成功函数的参数中包含code。 

2、调用wxgetUserInfo()接口success 函数中包含encryptedData、iv 

3、将上述参数传给后台解析,生成userInfo

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

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

3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

微信小程序对于用户信息获取进行了接口调整。调用 wxgetUserInfo(Object object) 不会再由d窗授权提示。在已授权时,可以直接获取用户信息;否则则直接进入 fail 回调函数。

用户的授权状态可以用 wxgetSetting() 接口的请求的结果

resauthSetting['scopeuserInfo'] 来判断。

那么在接口调整后,再进行授权登录则需要通过 open-data 来实现。

注:如果用户微信版本不支持open-data,需要提示用户升级。这次接口的调整实际上使得按一次d窗中的授权按钮即可授权的 *** 作变成了需要按两次,并且需要额外设计授权页面或者在主页先进行一次d窗引导用户授权。实际上更加繁琐。

以上就是关于微信公众号开发数据传递到h5如何实现全部的内容,包括:微信公众号开发数据传递到h5如何实现、避坑:微信公众号获取不到用户信息、微信公众平台接口如何获取到用户名和头像等信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存