抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • API 概览
  • C# API
  • 开放接口
  • 收藏
  • 群聊
  • tt.checkGroupInfo
  • tt.joinGroup
  • tt.setGroupTag
  • tt.getUserGroupTagInfo
  • 关注
  • 数据分析
  • 基础
  • 渲染
  • 设备
  • 文件
  • 位置
  • 媒体
  • 网络
  • 转发
  • 数据缓存
  • 广告
  • 界面
  • 支付
  • Worker
  • tt.setGroupTag

    收藏
    我的收藏

    基础库 3.80.0 开始支持本方法,这是一个异步方法。

    设置用户群聊标签

    前提条件
    业务背景
    使用限制
    注意事项
    相关教程

    语法

    tt.setGroupTag(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    openIdstring
    用户的 openId
    3.80.0
    tagIdstring
    群聊标签的 id,可在开发者后台中获取
    3.80.0
    statusenum
    number 类型,群聊标签的佩戴状态
    3.80.0
    successfunction
    接口调用成功的回调函数
    3.80.0
    failfunction
    接口调用失败的回调函数
    3.80.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    3.80.0

    status 的合法值

    说明最低支持版本
    1
    佩戴
    3.80.0
    3
    删除
    3.80.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    固定为"setGroupTag:ok"
    3.80.0
    isSandboxRequestboolean
    是否为沙盒环境调用,当标签状态为「待上架」时,返回 true,表示本次调用不会对真实用户设置生效
    3.80.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    错误信息
    3.80.0
    errNonumber
    错误码
    3.80.0

    错误码

    errNoerrMsg说明最低支持版本
    20001params.xxx should be xxx, but got xxx
    参数类型错误。

    请根据开发文档和实际错误信息修改

    3.80.0
    10103network unavailable
    网络不可达
    3.80.0
    21101open_id invalid
    openId 对应的用户不存在
    3.80.0
    21102mp_id 非法
    小游戏框架内部错误,有需要请创建工单咨询
    3.80.0
    21103server internal error
    小游戏框架内部错误,有需要请创建工单咨询
    3.80.0
    21104当前标签状态不支持设置用户标签
    当前状态无法设置标签
    3.80.0
    21105标签不存在
    标签不存在
    3.80.0
    21106当前标签已过期
    标签已过期
    3.80.0
    21107status 非法
    传参的status 不合法
    3.80.0

    代码示例

    /** * @template {typeof tt} S * @template {keyof S} T * @template {Parameters<S[T]>[0]} Opt * @template {Parameters<Opt['success']>[0]} Res * @param {T} apiName * @param {S} instance * @returns {(opt: Opt) => Promise<Res>} */ function api(apiName, instance = tt) { return (opt = {}) => new Promise((ok, no) => { const originOk = opt.success; const originNo = opt.fail; const originComplete = opt.complete; instance[apiName].bind(instance)({ ...opt, success(...args) { ok(...args); originOk?.(...args); }, fail(...args) { no(...args); originNo?.(...args); }, complete(res) { console.info('>>> 调用异步api ' + apiName + ' 的结果: ', res); originComplete?.(res); } }) }) } async function main() { const loginInfo = await api('login')(); const openId = await getOpenId(loginInfo.code); // 请求服务端,在服务端换取当前用户的 openId try { await api('setGroupTag')({ openId, // 根据需要传对应用户的openId,不一定是当前用户 tagId: 'xxx', status: 1, }); } catch (failObj) { console.log(failObj.errMsg ?? failObj.message); if (failObj.errNo) { switch (failObj.errNo) { case 20001: console.log('参数错误'); return; case 10103: console.log('无网络'); return; case 10401: case 21103: console.log('内部服务器错误'); return; case 21101: console.log('openId 不存在'); return; case 21102: console.log('内部错误,appId 无能获取'); return; case 21104: console.log('tagId 现在无法设置'); return; case 21105: console.log('tagId 不存在'); return; case 21106: console.log('tagId 已过期'); return; case 21107: console.log('status 不合法'); return; } } } } main();