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

    收藏
    我的收藏

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

    获取用户群聊标签信息

    前提条件
    业务背景
    使用限制
    注意事项
    已删除的标签不会出现在返回的userGroupTags列表中
    相关教程

    语法

    tt.getUserGroupTagInfo(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    openIdstring
    指定用户的openId
    3.80.0
    successfunction
    接口调用成功的回调函数
    3.80.0
    failfunction
    接口调用失败的回调函数
    3.80.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    3.80.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    userGroupTagsarray
    openId对应用户的所有群聊标签信息
    3.80.0
    errMsgstring
    固定为 "getUserGroupTagInfo:ok"
    3.80.0

    userGroupTags 类型说明

    object 类型,属性如下:

    属性名类型说明最低支持版本
    tagIdstring
    标签id,可在开发者后台中获取
    3.80.0
    statusenum
    number 类型,群聊标签的佩载状态
    3.80.0

    status 的合法值

    说明最低支持版本
    1
    已佩戴
    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
    10401internal error
    小游戏框架内部错误,有需要请创建工单咨询
    3.80.0
    21101open_id invalid
    openId 不合法
    3.80.0
    21102mp_id 非法
    小游戏框架内部错误,有需要请创建工单咨询
    3.80.0
    21103server internal error
    小游戏框架内部错误,有需要请创建工单咨询
    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 { const res = await api('getUserGroupTagInfo')({ openId, }); console.log(res.userGroupTags); } catch (failObj) { console.log(failObj.errMsg ?? failObj.message); if (failObj.errNo) { switch (failObj.errNo) { case 20001: console.log('参数错误'); return; case 10401: console.log('内部接口请求错误'); return; case 10103: console.log('无网络'); return; case 21101: console.log('openId 非法'); return; case 21102: console.log('内部错误,获取appId 失败'); return; case 21103: console.log('内部错误,兜底异常'); return; case 21104: console.log('status 参数不合法'); return; } } } } main();