用户名片
更新时间: 2024/07/17 17:57:35
网易云信 IM 服务端支持用户名片的查询和修改。
获取用户名片
功能描述
查询用户名片信息,包括昵称、年龄、性别等,同时可以查询用户的禁言状态(全局或者某功能模块)。
API 使用限制
单个应用默认最高调用频率:100 次/秒。如超限,将被屏蔽 10 秒。
URL
POST https://api.netease.im/nimserver/user/getUinfos.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求参数
- POST 请求中 Headers 的设置请参考 API 调用方式。
- POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accids | Array of strings | 是 | 用户帐号 ID 列表,例如:["id1", "id2", "id3"]。格式错误会返回 414 参数错误。 一次最多查询 200 个账号。 |
muteStatus | Boolean | 否 | 是否返回功能模块的禁言状态,默认为 false |
返回参数
参数 | 说明 |
---|---|
code | 状态码,200 表示请求成功 |
uinfos | 查询的用户信息列表,JSON |
uinfos 中的参数说明
参数 | 说明 |
---|---|
accid | 云信 IM 账号 |
name | 昵称 |
icon | 头像 |
sign | 签名 |
邮箱 | |
birth | 生日 |
mobile | 手机号码 |
ex | 自定义扩展信息 |
gender | 性别 |
valid | 是否有效 |
mute | 是否全局禁言 |
muteP2P | 账号在单聊模块中是否被禁言 |
muteQChat | 账号在群组模块中是否被禁言 |
muteTeam | 账号在群组模块中是否被禁言 |
muteRoom | 账号在聊天室模块中是否被禁言 |
示例
请求示例(curl)
curlcurl -X POST -H "AppKey: go9dnk49bk***0803mgq3" -H "Nonce: 4tgggerg**23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c**fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accids=["t1","t2"]&muteStatus=true' 'https://api.netease.im/nimserver/user/getUinfos.action'
请求成功返回示例
-
入参
muteStatus
为 false,返回如下示例:json
"Content-Type": "application/json; charset=utf-8" { "code":200, "uinfos": [ { "accid": "t1", //账号 "name": "小明", //昵称 "icon": "https://nim-nosdn.netease.im/MTAxMTAwMg==/bmltYV8xMDU5Njk3XzE1NzMwMjgxNTYyMTRfNGExMmY5ZGUtMWU2Ni00ZTAwLWIyZjgtZmFiM2E0YzAxYTEw",//头像 "sign": "hello",//签名 "email": "t1@163.com",//邮箱 "birth": "2015-12-23",//生日 "mobile": "18645454545",//手机号 "ex": "",//扩展信息 "gender": 1,//性别:0表示未知,1表示男,2表示女 "valid": true, //账号是否有效 "mute": true //账号是否被全局禁言 } {"accid":"t2","name":"def","gender":0} ] }
-
入参
muteStatus
为 true,返回如下示例:json
"Content-Type": "application/json; charset=utf-8" { "code":200, "uinfos": [ { "accid": "t1", //账号 "name": "小明", //昵称 "icon": "https://nim-nosdn.netease.im/MTAxMTAwMg==/bmltYV8xMDU5Njk3XzE1NzMwMjgxNTYyMTRfNGExMmY5ZGUtMWU2Ni00ZTAwLWIyZjgtZmFiM2E0YzAxYTEw",//头像 "sign": "hello",//签名 "email": "t1@163.com",//邮箱 "birth": "2015-12-23",//生日 "mobile": "18645454545",//手机号 "ex": "",//扩展信息 "gender": 1,//性别:0表示未知,1表示男,2表示女 "valid": true, //账号是否有效 "mute": true, //账号是否被全局禁言 "muteP2P": false, //账号在单聊模块中是否被禁言 "muteQChat": false,// 账号在圈组模块中是否被禁言 "muteTeam": false,// 账号在群组模块中是否被禁言 "muteRoom": false// 账号在聊天室模块中是否被禁言 } {"accid":"t2","name":"def","gender":0} ] }
返回的用户资料信息中,如果未设置对应信息,则不返回(例如:用户未设置email
信息,则返回的信息中不包括email
字段)。
请求失败返回示例
"Content-Type": "application/json; charset=utf-8"
{
"code":414
"desc":"limit max accids size: 200" // 传入的accid数量过多
}
状态码
该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。完整状态码请参见状态码。
状态码 | 说明 | 处理建议 |
---|---|---|
200 | 请求成功 | - |
414 | 参数错误 | 根据提示信息,检查传入参数的格式和限制条件 |
500 | 服务出错 | - |
更新用户名片
功能描述
更新用户名片。
用户名片中包含的用户信息,在群组、聊天室等场景下,会暴露给群组、聊天室内的其他用户。这些字段里mobile,email,birth,gender等字段属于非必填、可能涉及隐私的信息,如果您的业务下,这些信息为敏感信息,建议在通过扩展字段ex填写相关资料并事先加密。
API 使用限制
单个应用默认最高调用频率:100 次/秒。如超限,将被屏蔽 10 秒。
URL
POST https://api.netease.im/nimserver/user/updateUinfo.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求参数
- POST 请求中 Headers 的设置请参考接口概述。
- POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 用户帐号,最大长度32字符,必须保证一个APP内唯一 |
name | String | 否 | 用户昵称,最大长度64字符,可设置为空字符串 |
icon | String | 否 | 用户头像 URL,最大长度1024字节,可设置为空字符串 |
sign | String | 否 | 用户签名,最大长度256字符,可设置为空字符串 |
String | 否 | 用户email,最大长度64字符,可设置为空字符串 | |
birth | String | 否 | 用户生日,最大长度16字符,可设置为空字符串 |
mobile | String | 否 |
用户mobile,最大长度32字符 非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx),可设置为空字符串 |
gender | int | 否 | 用户性别,0表示未知,1表示男,2表示女,其它会报参数错误 |
ex | String | 否 | 用户名片扩展字段,最大长度1024字符,用户可自行扩展,建议封装成JSON字符串,也可以设置为空字符串 |
bid | String | 否 | 反垃圾业务ID,JSON字符串,{"textbid":"","picbid":""},若不填则使用原来的反垃圾配置 |
示例
请求示例(curl)
curlcurl -X POST -H "AppKey: go9***mgq3" -H "Nonce: 4t***3t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3***83f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan&name=Jack' 'https://api.netease.im/nimserver/user/updateUinfo.action'
返回示例
json"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
状态码
上述接口在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
此文档是否对你有帮助?