小程序/小游戏/小玩法/直播互动工具调用抖音云托管服务
收藏
我的收藏介绍
开发者在 web 控制面部署一个服务并且开启外网访问后,可在小程序,小游戏,小玩法,直播互动工具应用里面调用相关服务的接口。
注意事项
小程序、小游戏以及小玩法,直播互动工具对基础库版本的要求不同,具体参考各个API说明。
tt.createCloud
返回一个 Cloud 云调用实例。
语法
tt.createCloud(options)
参数说明
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
options | object | - | 是 | cloud 配置 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
options 说明
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
envID | string | - | 是 | 云环境ID | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
serviceID | string | - | 否 | 云服务ID | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
返回值
Cloud
Cloud
通过 tt.createCloud 获取的实例,通过它访问云托管服务。
Cloud.callContainer
发起一个云托管服务的调用请求。
语法
Cloud.callContainer(options);
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
options | object | - | 是 | 请求配置 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
options 说明
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
path | string | | 是 | 服务地址 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
init | object | 见init说明 | 否 | 请求配置对象 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
success | function | | 否 | 接口调用成功后的回调函数 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
fail | function | | 否 | 接口调用失败后的回调函数 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
complete | function | | 否 | 接口调用结束后的回调函数(调用成功、失败都会执行) | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
init 说明
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
method | string | GET | 否 | 网络请求方法,支持 GET/POST/OPTIONS/PUT/DELETE/TRACE/PATCH | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
header | object | {"content-type": "application/json"} | 否 | 请求 Header | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
body | object/array/arraybuffer | | 否 | 请求的参数 注意 GET 方法的请求不能包含 body 信息 当 method 为 POST 且body为json格式时,其CloudID格式的字段值会被网关替换为解密后的数据 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
timeout | number | 60000 | 否 | 超时时间,单位为毫秒 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
header
说明- •referer 说明
网络请求
header
中的 referer
不可设置。 其固定格式为:https://tmaservice.developer.toutiao.com?appid={appid}&version={appVersion}
,其中 appid
为小程序的 APPID,appVersion
为小程序的版本号。- •user-agent 说明
网络请求
header
中的 user-agent
不可设置。 其固定格式分为:- •IOS 系统:
[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] webview/[插件版本]
。- •Android 系统:
[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] PluginVersion/[插件版本]
。返回值
成功回调
参数为 Object 类型,属性如下。
属性名 | 类型 | 说明 | 最低支持版本 |
statusCode | number | 返回的 HTTP 状态码 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
header | object | 返回的 HTTP Response Header | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
data | 小程序小玩法,直播互动工具侧返回的均是 string 普通小游戏 在抖音开发者 工具侧返回的是 string, 端上返回的是具体类型,开发者需适配,以端上返回类型为准。 | 返回的数据 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
errMsg | string | "Cloud.callContainer:ok" | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最 低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
失败回调
参数为 Object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "Cloud.callContainer:fail " + 详细错误信息 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
errNo | number | 错误码 | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 小玩法最低基础库版本为1.0.9 直播互动工具最低基础库版本为3.48.0.0 |
代码示例
const cloud=tt.createCloud({ envID:'envID', serviceID:'serviceID' }); cloud.callContainer({ path:'/example', init:{ method:'POST', header:{ "content-type": "application/json", }, body:{ example:'example', }, timeout: 60000,//ms }, success:({statusCode, header, data})=>{ JSON.parse(data) }, fail: console.warn, complete: console.warn, })
Cloud.CloudID(仅小程序,小游戏,直播互动工具支持)
声明字符串为 CloudID(开放数据ID),该接口返回一个
CloudID
特殊对象。在请求 body 中包含该对象时,托管服务会在相应的字段上获得相应的解密信息。
获取 cloudID如果小程序已开通云托管,在开发数据接口的返回值中可以通过cloudId
字段获得(与encryptedData
同级),如:接口:tt.getUserInfo
(小程序,小游戏均支持)、tt.getUserProfile
(小程序支持)、tt.getPhoneNumber
(小程序支持)组件:button(open-type="getPhoneNumber")
(仅小程序支持)
语法
const cloud=tt.createCloud({ envID:'envID', serviceID:'serviceID' }); cloud.CloudID(cloudID)
参数说明
参数 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
cloudID | string | - | 是 | 获得的CloudID | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 直播互动工具最低基础库版本为3.48.0.0 |
返回值
返回对象,为 CloudID 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
cloudID | string | 传入的 CloudID | 小程序最低基础库版本为 2.70.0.0 小游戏最低基础库版本为 2.88.0.0 直播互动工具最低基础库版本为3.48.0.0 |
代码示例
const cloud = tt.createCloud({envID:'envID',serviceID:'serviceID'}) cloud.callContainer({ path:'/example', init:{ method:'POST', header:{ "content-type": "application/json", }, body:{ example:'example', info: cloud.CloudID('获取的CloudID') }, timeout: 600000,//ms }, success:({statusCode, header, data})=>{ JSON.parse(data) }, fail:console.warn, complete:console.warn, }) //
tt.getUserInfo(小程序,小游戏支持)
返回值
成功回调
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "getUserInfo:ok" | 1.0.0 |
rawData | string | userInfo 的 JSON 字符串形式 | 1.0.0 |
userInfo | UserInfo | 用户信息 | 1.0.0 |
UserInfo 类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
avatarUrl | string | 用户头像 | 1.0.0 |
nickName | string | 用户名 | 1.0.0 |
gender | number | 用户性别,0: 未知;1:男性;2:女性 | 1.0.0 |
city | string | 用户城市 | 1.0.0 |
province | string | 用户省份 | 1.0.0 |
country | string | 用户国家 | 1.0.0 |
language | string | 用户语言,目前为空 | 1.0.0 |
如果输入中传递了
withCredentials:true
,返回对象参数会增加如下扩展属性:tt.getUserProfile(仅小程序支持)
返回值
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "getUserProfile:ok" | 2.30.0 |
rawData | string | userInfo 的 JSON 字符串形式 | 2.30.0 |
userInfo | UserInfo | 用户信息 | 2.30.0 |
signature | string | 2.30.0 | |
encryptedData | string | 2.30.0 | |
iv | string | 加密算法参数 | 2.30.0 |
cloudId | string | 敏感数据对应的开放数据id,上云的小程序才会返回 | 小程序最低基础库版本为 2.70.0.0 |
tt.getPhoneNumber(仅小程序支持)
返回值
回调成功
object 类型,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
detail | object | 手机号数据详情 | 1.14.0 |
errMsg | string | "getPhoneNumber:ok" | 1.14.0 |
detail
为 object 类型,属性如下:属性 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "getPhoneNumber:ok" | 1.14.0 |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据 | 1.14.0 |
iv | string | 加密算法的初始向量 | 1.14.0 |
cloudId | string | 敏感数据对应的开放数据id,上云的小程序才会返回 | 2.70.0 |
获取手机号
回调参数说明
参数 | 类型 | 说明 | 最低支持版本 |
errMsg | string | 错误信息 | 1.14.0 |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据 | 1.14.0 |
iv | string | 加密算法的初始向量 | 1.14.0 |
cloudId | string | 敏感数据对应的开放数据id,上云的小程序才会返回 | 2.70.0 |
errMsg
为发生错误时具体的错误信息:- •开放平台没有权限获取手机号:
platform auth deny
。若平台封禁了某开发者该权限时可能返回或者是非企业小程序也会返回此信息。- •该小程序没有申请获取手机号权限:
no permission
。- •开放平台账号没有绑定手机号:
no phone number
。若用户宿主端没有绑定手机号,也会返回此信息。- •未在小程序平台登录:
not login
。开发者看到此信息后应当执行登录操作。- •用户没有绑定手机号或用户拒绝授权:
auth deny
。- •其他错误:
internal error
。