普通小游戏开发
API
开放能力
数据分析
视频拍摄器
多端支持

code2Session

通过login接口获取到登录凭证后,开发者可以通过服务器发送请求的方式获取 session_key 和 openId。

  • Tip:登录凭证 code,anonymous_code 只能使用一次,非匿名需要 code,非匿名下的 anonymous_code 用于数据同步,匿名需要 anonymous_code。

请求地址

GET https://developer.toutiao.com/api/apps/jscode2session

请求参数

  • Tip:code 和 anonymous_code 至少要有一个。
属性数据类型说明
appidstring小程序 ID
secretstring小程序的 APP Secret,可以在开发者后台获取
codestringlogin 接口返回的登录凭证
anonymous_codestringlogin 接口返回的匿名登录凭证

返回值

返回值为 JSON 形式,其中包括如下字段:

属性数据类型说明
session_keystring会话密钥,如果请求时有 code 参数才会返回
openidstring用户在当前小程序的 ID,如果请求时有 code 参数才会返回
anonymous_openidstring匿名用户在当前小程序的 ID,如果请求时有 anonymous_code 参数才会返回
  • Tip:session_key 会随着login接口的调用被刷新。可以通过checkSession方法验证当前 session 是否有效,从而避免频繁登录。
  • Tip:session_key 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。

errCode

当服务器端无法正确返回时,会返回如下信息:

属性数据类型说明
errorint64错误号 返回非 0
errcodeint64详细错误号
errmsgstring错误信息
messagestring错误信息(同 errmsg)

具体对应关系为:

错误号描述
0请求成功
-1系统错误
40014未传必要参数,请检查
40015appid 错误
40017secret 错误
40018code 错误
40019acode 错误
其它参数为空

请求示例

https://developer.toutiao.com/api/apps/jscode2session?appid=31198cf00b********&secret=942bd785dbf1fbffaaed37bb05d0968d********&code=6d4bd3c8********

返回示例

正确返回

{
  "error": 0,
  "session_key": "ffaaed37bb05d096***",
  "openid": "36d4bd3c8****",
  "anonymous_openid": ""
}

错误返回

{
  "errcode": 40018,
  "errmsg": "bad code",
  "error": 3,
  "message": "bad code"
}

匿名 openid 数据迁移

点击纠错
评价此篇文档