Session Key
解释: 智能小程序在其服务端中发送POST请求到百度 OAuth2.0 授权服务地址,并带上对应的参数,便可获取到Session Key。 获取Session Key的URL地址 :
https://spapi.baidu.com/oauth/jscode2sessionkey
为了让您的智能小程序运行在联盟 App 上,我们对获取 SessionKey 的接口做了升级。新接口可以兼容获取百度内部 App 和百度外部 App 的 SessionKey。 您只需要将原接口地址
https://openapi.baidu.com/nalogin/getSessionKeyByCode
更改为
https://spapi.baidu.com/oauth/jscode2sessionkey
即可让您的智能小程序在其它App上自动实现账号关联。
方法参数
获取Session Key需要的参数
若参数无误,服务器将返回一段JSON文本,包含以下数据
若请求错误,服务器将返回一段JSON文本,包含以下参数
示例
在开发者工具中预览效果
图片示例
代码示例
-
Page({ data: { sessionKey: '' }, getSessionKey() { swan.login({ success: res => { swan.request({ url: 'https://spapi.baidu.com/oauth/jscode2sessionkey', method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, data: { // swan.login()返回的 code code: res.code, client_id: 'WPGsbTTGEQ2VRnNcEIjyo5nT1wGxc3PZ', sk: 'zkDSFBfXvHtmtMAsNrQ8sFN9DNLFNZE4' }, success: res => { if (res.statusCode === 200) { this.setData({ sessionKey: res.data.session_key || '' }); } } }); } }); }});
-
<view class="intro"> <button type="primary" bind:tap="getSessionKey">获取 session key</button></view><view class="container" s-if="{{sessionKey}}"> <view>session key 值为:</view> {{sessionKey}}</view>
-
# curl -d "code=xxx&client_id=xxx&sk=xxx"https://spapi.baidu.com/oauth/jscode2sessionkey{"openid": "ABCDEFG123","session_key": "xxxxxx"}
