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说明最低支持版本
111687feature is not supported in app `{isLogin | userId | appId}`D
协议未实现
2.30.0
111696not loginD
未登录
2.30.0
111698invalid sessionD
没有登录态信息
2.30.0
111685network unavailableU
用户无网络
2.30.0
111679api scope is not declared in the privacy agreementD
需要隐私协议授权,但后台未配置该隐私数据
2.30.0
111690auth denyU
用户手动拒绝授权
2.30.0
111691service errorF
小程序框架内部错误,有需要请拉客服咨询
2.30.0
111601must be invoked by user tap gestureD
必须在用户点击的事件回调中触发
2.30.0
111680privacy permission is not authorizedU
隐私协议授权被用户拒绝
2.30.0
111691Internal error: get host user info failF
小程序框架内部错误,有需要请拉客服咨询
2.30.0
111691Internal error server error ${msg}F
小程序框架内部错误,有需要请拉客服咨询
2.30.0

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

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