抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台

code2Session
收藏
我的收藏

为了保障应用的数据安全,只能在开发者服务器使用 AppSecret;开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。如果小程序存在泄露 AppSecret 或会话密钥的问题,字节小程序平台将有可能下架该小程序,并暂停该小程序相关服务。

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

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

请求地址

POST https://developer.toutiao.com/api/apps/v2/jscode2session

请求参数

属性

数据类型

说明

appid

string

小程序 ID

secret

string

小程序的 APP Secret,可以在开发者后台获取

code

string

login 接口返回的登录凭证

anonymous_code

string

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 会随着login接口的调用被刷新。可以通过checkSession方法验证当前 session 是否有效,从而避免频繁登录。
  • Tip:session_key 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。

errCode

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

属性

数据类型

说明

err_no

int64

错误码

err_tips

string

错误信息

具体对应关系为:

错误号

描述

0

请求成功

-1

系统错误

40014

未传必要参数,请检查

40015

appid 错误

40017

secret 错误

40018

code 错误

40019

acode 错误

其它

参数为空

请求示例

POST 请求 body

{ "appid": "ttabc****", "secret": "d428**************7", "anonymous_code": "", "code": "iOyVA5hc*******" }

返回示例

正确返回

{ "err_no": 0, "err_tips": "success", "data": { "session_key": "hZy6t19VPjFqm********", "openid": "V3WvSshYq9******", "anonymous_openid": "", "unionid": "f7510d9ab***********" } }

错误返回

{ "err_no": 40015, "err_tips": "bad appid", "data": { "session_key": "", "openid": "", "anonymous_openid": "", "unionid": "" } }

匿名 openid 数据迁移

该文档是否有帮助?