抖音开放平台Logo
开发者文档
控制台
  • 移动应用
  • 网站应用
  • JS概述
  • Web 抖音登录和授权
  • JS 抖音授权
  • JS 抖音授权
  • JS 接入指南
  • 验证签名
  • JS 代码示例下载
  • JS Bridge 能力
  • 调起用户授权(半屏)
  • H5 发布
  • 本方法用于唤起半屏原生授权界面,实现抖音开放平台 OAuth 登录和授权功能。

    版本要求

      抖音:10.8.0 及以上版本
      JS SDK:1.0.3 及以上版本

    抖音版本差异

    openConfig 验签上线抖音版本为10.4.0, showOpenAuth 上线抖音版本为10.8.0,低版本抖音是无法唤起半屏授权的,所以请先判断抖音版本号,在符合要求的版本上面再使用该功能。
    判断抖音版本号代码:
    const APP_VERSION_REGX = { android: new RegExp("app_version/", "i"), ios: new RegExp("aweme_", "i"), }; const ua = navigator.userAgent; const os = /(Android);?\s+([\d.]+)?/i.test(ua) ? "android" : "ios"; const version = parseFloat(ua.split(APP_VERSION_REGX[os])[1]);

    调用方法

    const sdk = window.douyin_open; sdk.showOpenAuth({ params: { client_key: clientKey, // clientKey 在你的网页应用申请通过后得到 state: "", // 自定义状态,详见下方说明 scopes: { user_info: 0, // 0: 必选;1: 可选,默认不选中; 2: 可选,默认选中 }, response_type: "code", // 默认填‘code’,详见下方说明 }, success: ({ ticket, grant_permissions }) => { // ticket: Oauth 凭据,详见下方说明 // grant_permissions: String 类型,用户授权的所有 scope,以“,”拼接,例:user_info,mobile }, error: (res) => {}, });

    问题排查

    利用返回给应用的错误信息

    showOpenAuth 调用不成功时,会有错误码返回给应用,告诉应用错误原因。
      iOS 返回数据格式:
    { "code": -2, "msg": "Error Domain=AWEOpenPlatformErrorDomain Code=-2 \"(null)\"", "res": { "code": 0, "errorMsg": "Error Domain=AWEOpenPlatformErrorDomain Code=-2 \"(null)\"", "errorCode": -2, "respJsTime": "1593694298166" } }
      Android 返回数据格式:
    { "code": -2, "msg": "用户取消", "res": { "code": 0, "errorCode": -2, "errorMsg": "用户取消" } }
    code 说明:
      1:成功
      0:失败
      -2:手动取消
    当 code 为 0 时,errorCode 字段会给应用返回相关错误码,错误码信息请参见状态码排查工具
    说明:
    此 JS Bridge 功能与 OAuth 用户授权登录能力相同。详细参数说明请参考OAuth2.0 授权文档中的/platform/oauth/connect/获取授权码(code)部分。
    在支持该 JS Bridge 功能的环境下,开发者 Web 页面可直接通过调用该方法打开抖音客户端授权页面;如使用不支持版本的抖音和 JS SDK,需要使用原方法,跳转到 https://open.douyin.com/platform/oauth/connect/ 页面进行授权。