openid的获取

之前看微信小程序的时候,获取openid需要在wx.login中获取code再去换openid,然后啦啦啦啦啦啦的。所以我就按照文档说的开始请求,然后我是在小程序中用wx.request开始请求请求的是获取openid那个api,然后我进坑了,然后一跳就是跳了一天。之前在网上看到有人确实用wx.request进行获取的,也许以前是可以的吧实际结果咱也没看到,没赶上好时代。然而我的返回信息都是40013 invalid code这类的信息。后来有个朋友说他们都是将login时的code传给后端。既然有方法那就试试吧。我用了node和express,所以写了个接口为openid的接口。大致为:

app.post('/openid',function(){

var code = req.body.code;//前端传来的code
var appid = req.body.appid;//前端传来的appid
var secret = req.body.secret;//前端传来的secret
var access_token;
var that = this;
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code';//填好相应的code,最后一个不用变
request(url, function (err, response, body) {         //获取openid
if (!err && res.statusCode == 200) {
that.access_token = eval('(' + body + ')');
console.log(that.access_token.openid)
res.send(that.access_token.openid)
} else {
console.log('er'r')
}
})

)

猜你喜欢

转载自www.cnblogs.com/shaolingyun/p/10831778.html