微信小程序登录 报错 invalid appid 40013

微信小程序登录需要前端调用wx.login,返回的code交给后台调用code2Session,才能返回给前台一个openid(用户唯一标识)。

后台:node.js

报错:
在这里插入图片描述
原因:
错误代码将https.get的url和参数分开写了,以为httpsReq.write(data);是传参。实际就是应该把url和传参拼接在一起。而且get请求本来就只能把参数写url里,不能像post一样写成data再传。

错误代码:

let https=require('https');
app.get('/code2Session',function(req,res){
    console.log('code2Session',req.query);
    let data={
      appid:"你的appid",
      secret:'你的appsecret',
      js_code:req.query.code,
      grant_type:'authorization_code'
    };
    let body='';
    let httpsReq=https.get(‘https://api.weixin.qq.com/sns/jscode2session’,(res)=>{
      console.log('状态码',res.statusCode);
      console.log("请求头",res.headers);
      res.on('data',(data)=>{
        body+=data;
      }).on('end',()=>{
        console.log(body);
      });
    }).on('error',(e)=>{
      console.log('error:'+e.message);
    });
    httpsReq.write(data);
    httpsReq.end();
})

正确代码:

let https=require('https');
app.get('/code2Session',function(req,res){
    console.log('code2Session',req.query);
    let data={
      appid:"你的appid",
      secret:'你的appsecret',
      js_code:req.query.code,
      grant_type:'authorization_code'
    };
    let url='https://api.weixin.qq.com/sns/jscode2session?appid='+data.appid+'&secret='+data.secret
            +'&js_code='+data.js_code+'&grant_type=authorization_code'
    let body='';
    https.get(url,(res)=>{
      console.log('状态码',res.statusCode);
      console.log("请求头",res.headers);
      res.on('data',(data)=>{
        process.stdout.write(data);
      }).on('end',()=>{
        console.log(body);
      });
    }).on('error',(e)=>{
      console.log('error:'+e.message);
    });
})
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值