头条帐号OAuth 2.0授权
功能介绍
本文档旨在说明: 需要头条/西瓜用户授权的接口对接和无需授权的接口对接的对接的操作,便于开发者快速完成授权工作
注意:
头条的OAuth API以https://open.snssdk.com/开头
西瓜的OAuth API以https://open-api.ixigua.com/开头
适用场景
内容 | 适用场景 |
---|---|
授权 | 需要用户授权后方可调用的接口,例如:视频发布、视频数据、视频列表等 |
接口明细
阶段 | 步骤说明 | 接口名称 |
---|---|---|
授权 | 通过用户授权获取授权码code | 头条获取授权码 西瓜获取授权码 |
client_key、clientSecret和通过上一步的code 换取token | GET /oauth/access_token/ 获取access_token | |
刷新access_token | GET /oauth/refresh_token/ 刷新access_token | |
无授权 | 生成client_token | GET /oauth/client_token/生成client_token |
总体授权说明
网站应用抖音登录是基于OAuth2.0协议标准构建的授权登录系统,目前提供扫码登录和账号密码授权登录两种方式。
详见总体授权说明
相关建议
1.client_secret是应用密钥、access_token为用户授权第三方接口调用的凭证,泄漏后可能会发生用户隐私数据泄漏的风险,存储在客户端并不安全,容易被窃取。
2.refresh_token仅用于刷新access_token,泄漏后相当于access_token泄漏,风险同上。 建议将client_secret和access_token放到服务端来进行存储和使用。
3.头条、西瓜跟抖音OAuth2.0授权的模式一致,仅path不同。
准备工作
1.应用创建
在使用抖音OAuth2.0授权接入之前,您需要成功创建一个应用并通过开放平台审核,详细操作流程见:抖音开放平台申请流程示意 。头条/西瓜的应用和抖音为同一个应用,如果之前已经申请抖音应用,这里可以跳过。
2.ClientKey、ClientSecret查询位置
首页-管理中心-应用管理-数据,头条/西瓜的应用和抖音为同一个应用,如果之前已经申请抖音应用,这里可以跳过。
3.Scope的申请位置
首页-管理中心-应用管理-数据,可以在相应权限页面中有“toutiao.XXXX”和“xigua.XXXX”字样的Scope名称即为头条、西瓜的接口权限。
操作步骤
步骤一:通过URL展示给用户授权,获取授权码
操作方法:
步骤说明 | 接口名称 |
---|---|
通过用户授权获取授权码code | 头条获取授权码 西瓜获取授权码 |
说明:注意该URL的作用为展示扫码
步骤二:引导用户授权
头条
PC端:

移动端:

西瓜
PC端:

移动端:

步骤三:通过授权码code获取access_token
接口信息:
步骤说明 | 接口名称 |
---|---|
通过授权码code获取access_token | GET /oauth/access_token/ 获取access_token |
步骤四:刷新用户授权的access_token或续期
1.当access_token过期(过期时间15天)后,可以通过该接口使用refresh_token(过期时间30天)进行刷新,刷新access_token或续期不会改变refresh_token的有效期。
2.状态说明
- 若access_token已过期,调用接口会报错(error_code=10008或2190008),refresh_token后会获取一个新的access_token以及新的超时时间。
- 若access_token未过期,refresh_token不会改变原来的access_token,但超时时间会更新,相当于续期。
- 若refresh_token过期,获取access_token会报错(error_code=10010),此时需要重新走用户授权流程。
无需授权说明
功能介绍
client_access_token用于不需要用户授权就可以调用的接口。
client_access_token的有效时间为2个小时,重复获取token后会使上次的token失效(但有5分钟的缓冲时间)。
注意事项
不要在任何情况下将client access token下发给客户端。原因:
- client_access_token: 操作的是APP的数据,如设置APP需要监听的事件
- user_access_token:操作的是用户的数据
所有的请求都应该收敛在服务端,第三方服务端与平台交互获取数据后,将结果下发给客户端。
操作步骤
步骤说明 | 接口名称 |
---|---|
生成client_token | GET /oauth/client_token/ 生成client_token |
错误码
详见:状态码
FAQ
1.Token有效期与续期
access_token | refresh_token | 最长续期 |
---|---|---|
15天 | 30天 | 最多只能再获取5次新的refresh_token最长续期:15+30=45天 |
2.头条/西瓜是否支持二维码授权功能?
答:头条/西瓜暂不支持二维码登录授权功能