小程序获取用户的openid,得到为null!我的解决办法

小程序获取用户的openid,得到为null!我的解决办法,第1张

我遇到的情况是:{ errMsg: "cloud.callFunction:ok", result: null }

方法一:先检查是否在开发前安装好nods.js和npm;

在cmd输入:

node -v

npm -v

可以看到安装好的对应版本;

函数中使用 wx-server-sdk 需在对应云函数目录下安装 wx-server-sdk 依赖,可通过:

npm install --save wx-server-sdk@latest安装;

最后会提示:+wx-server-sdk@版本号。

成功安装依赖后,相应的云函数文件夹将生成一个package-lock.json文件。

再次上传并部署云函数:所有文件。

方法二:

云端和本地上都要删除函数,再重新创建和上传,也许问题就会解决了!

方法三:

在云端上删除已经部署过的login函数:再次上传的时候可能会出现:

"Code": "ResourceNotFound.Function", "Message": "未找到函数版本,请创建后再...

然后此时在云端上新建函数,如下图:

再次上传并部署云函数,此时提醒函数已存在,不能重复上传,此时编译一下。

发现原本获取openid值为null的,现在能够成功获取到了用户的openid。

做小程序授权登录获取openid时遇到以下错误:

{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: m3yw8a0472th20 ]"}

在网上搜了下,有两种说法:1、code被使用了两次;2、appid与secret不一致

看了一下自己的项目,这两个错误都不是,后来在另一篇博文里看到只需要重新创建项目就可以了,试了一下,还真是。

仔细想了一下原因,当一开始创建项目的时候使用的是之前的appid,后来自己又在app.js里设置appid,但是这里设置没起作用,所有会报这个错误。

以官方提供的“小程序云开发快速启动模板”为例。

获取openid失败:

进行“点击获取openid”测试失败,出现下图所示的提示,并且控制台会提示以下错误信息:

VM86:1 [云函数] [login] 调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message Function not found: [login]at cloud.callFunction api

云端运行环境为 Node.js ,需要先在本地安装 Node.js 和 npm 才能顺利测试。同时还要在云函数目录下安装 wx-server-sdk 依赖:

npm install --save wx-server-sdk

详细内容参见官方文档 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

直接忽略即可,并不会影响后续的云函数功能。成功安装依赖后,相应的云函数文件夹将生成一个 package-lock.json 文件。


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

原文地址: https://outofmemory.cn/yw/12192361.html

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

发表评论

登录后才能评论

评论列表(0条)

保存