小程序
小游戏
企业微信
微信支付
扫描小程序码分享
通过button按钮点击授权,login拿到了code,然后调起getuserInfo拿到encryptedData和iv去后台解密,返回的参数里只有openid和session_key,unionid:null,求教这是怎么回事啊
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
需要小程序关联开放平台账号才能获取到unionid, 首先要认证开放平台账号。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已经认证完了,有些手机能拿到,有些拿不到,比如注册的新号就拿不到
那估计是你getUserInfo不是每次都取的最新的,是不是有从缓存里取?如果从缓存里取的话就拿不到。Code只能用一次。
每次都是进来授权的时候直接调的getUserInfo,应该不会有缓存啊。。。code只在解密的时候用了一次。。。
谢谢,已经解决了,是后台的解密算法出了问题
出什么问题?
获取用户信息不是 getUserInfo 吗?
最好是吧你的代码贴出来!
大小写拼错了,代码上没问题,有些手机能拿到,有些拿不到,比如注册的新号就拿不到
那你看下是不是code被使用过了,
比如注册新号的时候,
代码某处已经获取了用户信息,
然后你注册的时候又用那个code去获取信息!
只有程序初始化的时候获login了一次,然后解密的时候用了一下code。。。这里有什么不对的吗。。。?
没有问题
要不再获取不到信息的时候
你把所有的参数打印出来,然后手动解密,看看是不是那些参数有问题!
如果是参数问题的话,openid也不应该给我返回啊,现在是openid都能返回,新用户就是没关注过公众号也没在app上受过权的账号拿不到unionid
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
需要小程序关联开放平台账号才能获取到unionid, 首先要认证开放平台账号。
已经认证完了,有些手机能拿到,有些拿不到,比如注册的新号就拿不到
那估计是你getUserInfo不是每次都取的最新的,是不是有从缓存里取?如果从缓存里取的话就拿不到。Code只能用一次。
每次都是进来授权的时候直接调的getUserInfo,应该不会有缓存啊。。。code只在解密的时候用了一次。。。
谢谢,已经解决了,是后台的解密算法出了问题
出什么问题?
获取用户信息不是 getUserInfo 吗?
最好是吧你的代码贴出来!
大小写拼错了,代码上没问题,有些手机能拿到,有些拿不到,比如注册的新号就拿不到
那你看下是不是code被使用过了,
比如注册新号的时候,
代码某处已经获取了用户信息,
然后你注册的时候又用那个code去获取信息!
只有程序初始化的时候获login了一次,然后解密的时候用了一下code。。。这里有什么不对的吗。。。?
没有问题
要不再获取不到信息的时候
你把所有的参数打印出来,然后手动解密,看看是不是那些参数有问题!
如果是参数问题的话,openid也不应该给我返回啊,现在是openid都能返回,新用户就是没关注过公众号也没在app上受过权的账号拿不到unionid