tt.showDouyinOpenAuth
基础库 1.93.0 开始支持本方法,这是一个异步方法。
提供小游戏获取抖音权限的能力,展示出抖音权限授权弹窗。在使用在接口前,需要小游戏拥有者登录抖音开发平台申请开通小游戏需要的权限(如下图所示)。

语法
tt.showDouyinOpenAuth(options);
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
scopes | object | 是 | 需要获取权限的信息,其中 key 值是申请权限的 scope,value 值必须是 0,1,2(此处申请的权限在抖音开放平台必须是已开通状态) | 1.93.0 | |
success | function | 否 | 接口调用成功的回调函数 | 1.93.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.93.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.93.0 |
scopes 的属性值说明:
属性值 | 类型 | 说明 | 版本 |
---|---|---|---|
0 | number | 必选项(用户无法取消) | 1.93.0 |
1 | number | 非必选,默认选中 | 1.93.0 |
2 | number | 非必选,默认不选中 | 1.93.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | 回调信息 | 1.93.0 |
ticket | string | 请求授权返回的票据,此处对标开放平台的 | 1.93.0 |
grantPermissions | string[] | 用户授权的权限 | 1.93.0 |
注:此处返回的临时票据 ticket
,是用来从开放平台的接口(点击进入接口详情)获取用户的长期票据access_token
。开发平台的授权流程示意图如下:
-829712367210793.1.jpg)
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errNo | number | 错误码 | 1.93.0 |
errMsg | string | 错误信息 | 1.93.0 |
错误信息说明:
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
10301 | feature is not supported in app | 宿主不支持登录/宿主不支持抖音开放平台授权 | 1.93.0 |
21100 | login fail xxx | 用户登录失败 | 1.93.0 |
21101 | request auth ticket fail xxx | 获取权限票据失败 | 1.93.0 |
21102 | request auth scope info fail xxx | 获取权限信息失败 | 1.93.0 |
21103 | request auth code fail xxx | 获取权限授权码失败 | 1.93.0 |
20000 | scopes is empty | 开发者传入的 scopes 为空数据 | 1.93.0 |
21104 | no usage scope | 没有可用的授权权限(开发者申请授权的权限全部没有被开通权限) | 1.93.0 |
代码示例
tt.showDouyinOpenAuth({
scopes: {
im: 0, // 用户无法取消
"im.media": 2,
},
success(res) {
console.log("success", res);
},
fail(res) {
console.log("fail", res);
},
complete(res) {
console.log("complete", res);
},
});
Bug & Tip
- Tips:该接口只支持抖音,所以请在抖音 APP 中调用;
- Tips:每次申请授权都是该小游戏的抖音权限全量授权,请在传入
scopes
时,把需要的授权的scopes
都传入。由于不支持增量授权,即使用户已经授权过部分抖音权限,也还是需要全量传入所有需要的权限; - Tips:每次申请授权的抖音权限必须是在抖音开发平台已经申请并且审批开通的权限,否则会导致本次授权操作失败;
- Tips:此处授权是抖音相关的授权,如果想要申请小游戏授权,请查看 tt.authorize。这两处授权的
scopes
范围不同; - Tips:在请求服务端接口时,应用唯一标识 在小游戏场景下,对应的是小游戏
appId
;应用唯一标识对应的密钥对应的是小游戏的APP Secret
。