抖音开放平台Logo
开发者文档
控制台
  • 移动应用
  • open SDK 概述
  • open SDK 下载
  • open SDK 接入
  • 抖音分享
  • 抖音投稿发布
  • 抖音名片
  • 抖音登录和授权
  • 登录与授权
  • 获取授权令牌
  • iOS
  • Android
  • 授权页面配置备注
  • 鸿蒙
  • 常见问题
  • 网站应用
  • 获取授权令牌

    收藏
    我的收藏

    本文介绍在成功获取到 auth code 之后,调取接口获取 access_token 和 refresh_token 的能力。

    使用场景

    支持通过 Android、iOS、JS、H5 获取 code 后的 token 和 refresh_token 的操作。

    背景信息

    网站应用抖音登录是基于 OAuth2.0 协议标准构建的授权登录系统,详见总体授权说明文档总体授权说明

    • clientsecret 是应用密钥、access_token 为用户授权第三方接口调用的凭证,泄漏后可能会发生用户隐私数据泄漏的风险,存储在客户端并不安全,容易被窃取。
    • refresh_token仅用于刷新 access_token,泄漏后相当于access_token泄漏,风险同上。 建议将 clientsecret 和 access_token 放到服务端来进行存储和使用。

    准备工作

    获取 auth code。

    本文默认您已经完成获取临时票据 code 的前期工作。具体的对接,详见各个接入文档。

    渠道

    链接

    H5

    抖音帐号 OAuth 2.0 授权

    JS

    JS 授权

    iOS

    iOS 授权登录

    Android

    Android 授权登录

    操作步骤

    第一步:通过授权码 code 获取 access_token

    1. 完成授权操作后,在拼接页面内查询授权码(code)。
    1. 通过授权码 code 获取 access_token

    第二步:刷新用户授权的 access_token 或续期

    当 access_token 过期(过期时间 15 天)后,可以通过刷新 access_token 接口的 refresh_token(过期时间 30 天)参数进行刷新,刷新 access_token 或续期不会改变 refresh_token 的有效期。

    状态说明:

    • 若 access_token 已过期,调用接口会报错(error_code=10008 2190008),refresh_token 后会获取一个新的 access_token 以及新的超时时间。
    • 若 access_token 未过期,refresh_token 不会改变原来的 access_token,但超时时间会更新,相当于续期。
    • 若 refresh_token 过期,获取 access_token 会报错(error_code=10010),此时需要重新走用户授权流程。

    刷新 refresh_token 的一些说明:

    • 前提: client_key 需要具备 renew_refresh_token 权限。
    • 通过旧的 refresh_token 获取新的 refresh_token,调用后旧 refresh_token 会失效,新 refresh_token 有 30 天有效期。最多只能获取 5 次新的 refresh_token,5 次过后需要用户重新授权

    FAQ

    token 有效期与续期

    A:见表格:

    access_token


    refresh_token

    最长续期

    15 天

    30 天

    最多只能再获取 5 次新的 refresh_token 最长续期:15+30+30*5 = 195 天

    刷新 refresh_token 部分中,已经过期的 refresh_token 可以刷新后获取新的 refresh_token 吗?

    A:不可以。只可以用未过期的 refresh_token 刷新获取新的 refresh_token。

    已经正确获取到 access_token,在调用一键发布接口时,提示 access_token 过期

    A : item_id 是有特殊字符的字符串, 作为 url 参数时, 必须 UrlEncode。

    该文档是否有帮助?