小程序获取unionId全过程

本文详细介绍了在微信小程序中获取unionId的完整过程,包括必须的前提条件(小程序绑定微信开放平台)、遇到的问题(解密示例代码缺失crypto模块)以及解决方案(下载并正确引用cryptojs库)。通过修改官方提供的解密代码,成功实现获取unionId,适用于Node环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序获取unionId(前提,小程序必须已经绑定了微信开放平平台,否则神仙来了也获取不到unionId)

最近刚开发小程序,在和后台接口对接时候,后台要求从前台传递unionId来换取userId。去小程序官网看了API,官方提供的wx.getUserInfo接口返回的内容里普通情况下是没有openId和unionId的。于是乎继续查看API寻找获取unionId的方法,于是乎看到了官方里这样写,如下图在这里插入图片描述明确指出,要想获取到openId和unionId这些敏感数据,需要对wx.getUserInfo返回的encryptedData进行解密,并且官方也提供了多种语言的解密示例代码的下载地址(这里坑就来,你会发现你下载并打开他的示例代码,并且放到自己的程序中后发现并没有解密成功,反而代码报错了。我使用的是Node文件夹下的示例代码),下载以后打开发现,他提供了4种语言的示例,分别是c++,Node,PHP,Python,我们用的是Node,所以打开Node文件夹,发现里面有下图俩个文件
在这里插入图片描述
我们打开这俩个文件,其中在WXBizDataCrypt.js这里代码的第一行有一个require引入外部js文件,如下图:
在这里插入图片描述
这就是坑的地方,因为你在Node文件夹里就找不到这个js文件,根本没提供,这也是前面说的为什么按照他写的放上去代码报错的地方,因为crypto找不到,所以报错undefined。这个crypt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值