• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 登录
  • 用户信息
  • tt.getUserInfo
  • tt.getUserProfile
  • 广告
  • 支付
  • 分享
  • 小程序跳转
  • 抖音视频能力
  • 收货地址
  • 设置
  • 授权
  • 评价能力
  • 数据分析
  • 视频拍摄器
  • 引导关注
  • 订阅消息
  • 电商插件能力
  • AI/AR能力
  • 转发和挂载
  • 直播能力
  • 流量来源识别
  • 侧边栏能力
  • 隐私信息授权
  • web化
  • 行业开放
  • 第三方平台
  • 其它
  • tt.getUserProfile
    收藏
    我的收藏

    基础库 2.30.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。

    获取用户的基本信息,只可在 tap 事件回调中调用,每次调用都会弹出授权提示窗,若用户同意,则会返回用户的真实数据。

    前提条件
    业务背景
    使用限制
    注意事项
    • 请在点击事件回调中调用本 API;
    • 本 API 依赖于 tt.login,请确保调用前已经调用了该 API;
    • 从基础库 2.54.0 开始,getUserProfile 已经内置了 login 的实现,使用无需依赖 tt.login。同时可以根据 force 参数选择是否在宿主未登录时拉起登录框。
    支持沙盒
    相关教程

    语法

    tt.getUserProfile(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    forcebooleanfalse
    当宿主未登录时,是否强制拉起登录框
    2.54.0
    successfunction
    接口调用成功的回调函数
    2.30.0
    failfunction
    接口调用失败的回调函数
    2.30.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    2.30.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "getUserProfile:ok"
    2.30.0
    userInfoobject
    用户信息
    2.30.0
    rawDatastring
    userInfo 的 JSON 字符串形式
    2.30.0
    signaturestring

    用于校验用户信息是否被篡改,请参考文档

    2.30.0
    encryptedDatastring

    已加密用户数据,不包含 openId、unionId,如需解密数据请参考文档

    2.30.0
    ivstring
    加密算法参数
    2.30.0

    encryptedData 参数说明

    解密后的数据为object 类型,属性如下:

    属性名

    类型

    说明

    最低支持版本

    avatarUrl

    string

    用户头像网络地址

    2.30.0

    nickName

    string

    用户昵称

    2.30.0

    gender

    number

    用户性别,0: 未知;1:男性;2:女性

    2.30.0

    city

    string

    用户所在城市

    2.30.0

    province

    string

    用户所在省份

    2.30.0

    country

    string

    用户所在国家

    2.30.0

    language

    string

    用户语言,目前为空

    2.30.0

    watermark

    Watermark

    敏感数据水印

    2.30.0

    Watermark 类型说明

    object 类型,属性如下:

    属性名

    类型

    说明

    最低支持版本

    appid

    string

    数据源小程序 id

    2.30.0

    timestamp

    number

    时间戳,可以用于检查数据的时效性

    2.30.0

    userInfo 类型说明

    object 类型,属性如下:

    属性名类型说明最低支持版本
    avatarUrlstring
    用户头像
    2.30.0
    nickNamestring
    用户昵称
    2.30.0
    gendernumber
    用户性别,0: 未知;1:男性;2:女性
    2.30.0
    citystring
    用户城市
    2.30.0
    provincestring
    用户省份
    2.30.0
    countrystring
    用户国家
    2.30.0
    languagestring
    用户语言,目前为空
    2.30.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "getUserProfile:fail" + 详细错误信息
    2.30.0

    错误码

    errorCodeerrMsgerrorType说明最低支持版本
    111690getUserProfile:fail auth denyU
    拒绝授权

    用户未授予小程序授权,请引导用户按需授权,详情参考 用户授权

    2.30.0
    111601getUserProfile:fail must be invoked by user tap gestureD
    没在点击事件回调中调用

    在点击事件中调用

    2.30.0
    111696getUserProfile:fail not loginD
    用户未登录

    用户未登录,可通过调用 tt.login 帮助用户登录

    2.30.0
    111698getUserProfile:fail invalid sessionD
    获取平台登录 session 失败

    通过 tt.checkSession 确认session存在再进行相关操作

    2.30.0
    111685getUserProfile:fail network unavailableU
    用户错误

    用户网络不佳,若此错误频繁出现建议加入超时重试逻辑

    2.30.0
    111679getUserProfile:fail api scope is not declared in the privacy agreementD
    隐私能力不在申请的 scope 内

    检查隐私协议

    2.30.0
    111691getUserProfile:fail Internal error: xxxF
    小程序框架内部错误,有需要请创建工单咨询
    2.30.0
    111680getUserProfile:fail privacy permission is not authorizedU
    隐私协议未授权

    用户未授权隐私协议,请引导用户按需授权

    2.30.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    tt.getUserProfile({ success(res) { console.log("getUserProfile 调用成功:", res.userInfo); }, fail(res) { console.log("getUserProfile 调用失败", res); }, });