code2Session
通过tt.login接口获取到登录凭证后,开发者可以通过服务器发送请求的方式获取 session_key
和 openid
。
- Tip:登录凭证
code
,anonymous_code
只能使用一次,非匿名需要code
,非匿名下的anonymous_code
用于数据同步;匿名需要anonymous_code
。
请求地址
GET https://minigame.zijieapi.com/mgplatform/api/apps/jscode2session
请求参数
属性 | 数据类型 | 说明 |
---|---|---|
appid | string | 小游戏 ID |
secret | string | 小游戏的 APP Secret,可以在「开发者后台->开发管理->开发设置」获取 |
code | string | tt.login 接口返回的登录凭证 |
anonymous_code | string | tt.login 接口返回的匿名登录凭证 |
- Tip:
code
和anonymous_code
至少要有一个。
返回值
返回值为 JSON 形式,其中包括如下字段:
属性 | 数据类型 | 说明 |
---|---|---|
session_key | string | 会话密钥,如果请求时有 code 参数才会返回 |
openid | string | 用户在当前小游戏的 ID,如果请求时有 code 参数才会返回 |
anonymous_openid | string | 匿名用户在当前小游戏的 ID,如果请求时有 anonymous_code 参数才会返回 |
unionid | string | 用户在小游戏平台的唯一标识符,请求时有 code 参数才会返回。如果开发者拥有多个小游戏,可通过 unionid 来区分用户的唯一性。 |
- Tip:对于同一个用户,不同的宿主或不同的开发者得到的 unionid 是不同的。
- Tip:
session_key
会随着tt.login接口的调用被刷新。可以通过tt.checkSession方法验证当前 session 是否有效,从而避免频繁登录。 - Tip:
session_key
会话密钥是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小游戏,也不应该对外提供这个密钥。
errCode
当服务器端无法正确返回时,会返回如下信息:
属性 | 数据类型 | 说明 |
---|---|---|
error | int64 | 错误号 返回非 0 |
errcode | int64 | 详细错误号 |
errmsg | string | 错误信息 |
message | string | 错误信息(同 errmsg) |
具体对应关系为:
错误号 | 描述 |
---|---|
0 | 请求成功 |
-1 | 系统错误 |
40014 | 未传必要参数,请检查 |
40015 | appid 错误 |
40017 | secret 错误 |
40018 | code 错误 |
40019 | acode 错误 |
其它 | 参数为空 |
请求示例
GET https://minigame.zijieapi.com/mgplatform/api/apps/jscode2session?appid=31198cf00b********&secret=942bd785dbf1fbffaaed37bb05d0968d********&code=6d4bd3c8********
返回示例
正确返回
{
"error": 0,
"session_key": "ffaaed37bb05d096***",
"openid": "36d4bd3c8****",
"anonymous_openid": "",
"unionid": "f7510d9ab***********"
}
错误返回
{
"errcode": 40018,
"errmsg": "bad code",
"error": 3,
"message": "bad code"
}
匿名 openid 数据迁移

Bug & Tip
- Tip:原域名 https://developer.toutiao.com/api/apps/jscode2session 仍然可用,不过为了后续兼容性和可能的迁移,建议开发者更换到新的域名。
- Tip: 为了保障应用的数据安全,只能在开发者服务器使用 AppSecret;开发者服务器不应该把会话密钥下发到小游戏,也不应该对外提供这个密钥。如果小游戏存在泄露 AppSecret 或会话密钥的问题,字节小游戏平台将有可能下架该小游戏,并暂停该小游戏相关服务。
点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助