微信小程序获取用户唯一标识openid的若干个坑

        今天需要获取微信小程序用户唯一标识openid。一开始发现了前端是无法发起请求获取openid的,需要前端获取code后,把code传给后端,由后端获取,再把openid返回给前端。后端也是我一个人搞的,后端用的node的express。然后在网上查了查资料,发现很少有关用express请求微信小程序地址的,开始了我的探索踩坑之旅。

        首先安装require包。

npm install require

        引入

const request = require('request')

        使用

let appId = '你的appId '
    let appSecret = '你的app密钥'
    let code = req.body.code //前端传过来的code
    request({
        url: `https://api.weixin.qq.com/sns/jscode2session`,
        method: "GET",
         data: {
             js_code: code,
             appid: appId,
             secret: appSecret,
             grant_type:'grant_type'
         },
    },(error,res,body)=>{
        console.log(error,'error')
        console.log(res.data,'res')
        console.log(body,'body')
    })

结果并没有返回我预期的结果。{"errcode":41002,"errmsg":"appid missing, rid: 6358d905-137102ea-25016539"} body

一开始以为我的输入有错,查了一下代码,又上网找了各种资料,依旧不解。后面看了微信的开发文档,感觉我的也没问题。后面感觉是data携带数据的问题。然后换成地址传参。

        url: `https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${appSecret}&js_code=${code}&grant_type=authorization_code`,

居然这样就跑通了,传回来openid和session_key。但是我在前端直接发起微信请求wx.request的时候,是可以传回来正确的openid和session_key(不检验域名)。可能是node引入的require没有把data数据转化的问题。这里记录一下node的require发起微信小程序api请求,让后来的人不用踩这么多坑。

"session_key":"9Ub················","openid":"oe··········1p·"} body

dd​​​​​​​d​​​​​​​auth.code2Session | 微信开放文档 (qq.com)​​​​​​​f

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值