微信小程序怎么获取openid
时间: 2023-07-26 14:25:37 浏览: 115
微信小程序可以通过调用微信提供的登录接口`wx.login()`获取到临时登录凭证`code`,然后将`code`发送给开发者服务器,开发者服务器可以通过调用微信提供的接口`code2Session`获取用户的`openid`。具体流程如下:
1. 小程序调用`wx.login()`接口获取`code`
```javascript
wx.login({
success(res) {
if (res.code) {
// 发送 res.code 到开发者服务器换取 openid
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
```
2. 将`code`发送给开发者服务器
```javascript
wx.request({
url: 'https://yourserver.com/api/login',
data: {
code: res.code
},
success(res) {
console.log(res.data)
}
})
```
3. 开发者服务器调用`code2Session`接口获取`openid`
```javascript
const https = require('https')
https.get(`https://api.weixin.qq.com/sns/jscode2session?appid=${APPID}&secret=${APPSECRET}&js_code=${code}&grant_type=authorization_code`, (res) => {
let data = ''
res.on('data', (chunk) => {
data += chunk
})
res.on('end', () => {
const result = JSON.parse(data)
const openid = result.openid
console.log(openid)
})
})
```
注意:`APPID`和`APPSECRET`需要替换成你自己的小程序的`appid`和`appsecret`。
阅读全文