小程序如何获取用户的unionid

小程序如何获取用户的unionid,第1张

unionid与openid的不同之处在于:

openid是同一用户同一应用唯一;而手销unionid是同一用户不同应用唯一。

很显然,如果要拿到用户的唯一id,只能用unionid。

因为unionid是用户的旅神私密信息,所以需要走登录入口。

uni-app框架对这块做了很好的封拆薯亏装,直接调用即可。不过api有点乱,手册介绍的实例是用云函数的方式获取,但云函数的相关配置比较繁琐,我们可以绕过不用。

微埋余信小程序button api

https://developers.weixin.qq.com/miniprogram/dev/component/button.html

微信小程序 社区 unionid总结

https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009

【情况1】若当前小程序未关联微信开放平台,则没有unionId

解决方案:登纤嫌录 微信开放平台,绑定小程序。

【情况2】已经关联微信开放平台的小程序,但

(1)即没有关注过公众号,

(2)也没有登录过公众号,

(3)更没有使用微信登录的方式登录过app

则此时,微信接口服务端获取不到unionId

解决方案:通毁液手过小程序端的获取用户信息e.detail.rawData 解析到unionId 再传给服务端

记录一下小程序关联服务号的消息推送功能。

准备工源灶作:

1、获取小程序的appid与appsecret(小程序后台获取)

2、获取服务号的appid与appsecret(服务号后台获取)

3、小程序与服务号绑定在同一个微信开放平台

注意:小程序、服务号、微信开放平台都要认证!!!都要认证!!!都要认证!!!

接下来进入正题。

第一步:获取服务号的access_token

直接通过官方给的接口获取。这里有两个参数,都可以直接获取到

第二步:获取已关注服务号的所有用户的openid

还是通过官方提供的网址获取openid,这里需要一个参数access_token,已从上一步获取到了

第三步:获取已关注用户的用户信息

这一步可获取用户的详细信息,包括昵称、头像、地理位置、unionid等。根据官方网址需要两个参数access_token与漏裂大openid通过上面两部均已取得。这里后台可以生成一张表用于返竖存储这些数据。

第四步:小程序登录时获取用户的unionid

(1)用户登录小程序时,通过wx.login()获取code

(2)通过微信官方网址获取unionid,需要的参数为code、appid、appsecret

第五步:服务号的模板消息推送

(1)当服务号与小程序绑定在同一个开放平台时,他们的unionid是一样的,所以我们可以通过unionid这个中间量来进行数据的查找

(2)通过第四步获取的unionid,我们可以查找到当前登录小程序的用户他的服务号的openid。

(3)需要的两个参数都获取到了,我们就可以推送消息模板啦,接下来按照官方的教程 *** 作就行了。

(4)如果想要一次推送给多人可以把接收人的openid存到一个数组中,然后加个循环就行了。

总结:用户必须关注服务号,否则不发收到推送消息。


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

原文地址: http://outofmemory.cn/yw/12497588.html

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

发表评论

登录后才能评论

评论列表(0条)

保存