### 获取 openid 和 unionid
### code 换取 session_key
这是一个 HTTPS 接口,开发者服务器使用**登录凭证 code **获取 session_key 和 openid。
session_key 是对用户数据进行[加密签名](https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html)的密钥。为了自身应用安全,**session_key 不应该在网络上传输**。
**接口地址:**
```
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
```
**请求参数:**
| 参数 | 必填 | 说明 |
| ---------- | ---- | ---------------------- |
| appid | 是 | 小程序唯一标识 |
| secret | 是 | 小程序的 app secret |
| js_code | 是 | 登录时获取的 code |
| grant_type | 是 | 填写为 authorization_code |
**返回参数:**
| 参数 | 说明 |
| ----------- | ---------------------------------------- |
| openid | 用户唯一标识 |
| session_key | 会话密钥 |
| unionid | 用户在开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。具体参看[UnionID机制说明](https://mp.weixin.qq.com/debug/wxadoc/dev/api/uinionID.html) |
示例代码:
```js
wx.login({
success: res => {
const APP_ID = '' // APP_ID
const APP_SECRET = '' // APP_SECRET
const CODE = res.code
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + APP_ID + '&secret=' + APP_SECRET + '&js_code='+ CODE +'&grant_type=authorization_code',
data: {},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
}
})
```
参考资料: https://www.cnblogs.com/YSPyishuihan/p/6885242.html
- 简介
- 第一章 公众号开发
- 使用微信JSSDK
- 接口权限配置
- 分享接口
- 隐藏按钮项
- 微信支付
- 第二章 小程序开发
- 基础知识
- 分包加载
- WXSS样式表
- 配置
- app.json配置
- window
- tabBar
- page.json配置
- 逻辑层
- app.js
- 场景值
- page.js
- 初始化数据
- 生命周期函数
- 页面相关事件处理函数
- 事件处理函数
- 页面实例方法
- 路由
- 文件作用域
- 模块化
- 视图层
- 模板语法
- 列表渲染
- 条件渲染
- 模板
- 事件
- 引用
- WXS语法规范
- WXS数据类型
- WXS控制流程
- WXS基础类库
- 组件
- 视图容器
- view
- scroll-view
- swiper
- movable-view
- cover-view
- 基础组件
- icon
- text
- rich-text
- progress
- 表单组件
- button
- checkbox
- form
- input
- label
- picker
- picker-view
- radio
- slider
- switch
- textarea
- 导航组件
- navigator
- 媒体组件
- audio
- image
- video
- camera
- 地图组件
- map
- 画布组件
- canvas
- 开放能力
- web-view
- 自定义组件
- 组件模版和样式
- Component
- 组件传值
- 组件事件
- Behaviors
- 组件间关系
- 网络请求
- wx.request
- 微信登录
- 获取 openid 和 unionid
- 获取用户信息
- 将 wx.request 封装为 promise
- 上传图片接口封装
- 数据存储
- 存储数据和读取数据
- 获取数据缓存信息
- 移除数据缓存
- 获取用户设置
- openSetting
- getSetting
- 第三章 小游戏开发
- 参考资料