一、功能说明
App 管理员可以通过该接口修改群成员资料。
二、适用的群组类型
| 群组类型 ID | 是否支持此 REST API |
| Private | 支持,同新版本中的 Work(好友工作群)。 |
| Public | 支持。 |
| ChatRoom | 支持,同新版本中的 Meeting(临时会议群)。 |
| AVChatRoom | 不支持。 |
| Community(社群) | 支持。 |
即时通信 IM 内置上述群组类型,详情介绍请参见 群组系统。
注意:说明:
注意:AVChatRoom(直播群)不存储群成员资料,所以不能修改成员资料。
三、请求 URL 示例
https://xxxxxx/v4/group_open_http_svc/modify_group_member_info?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
四、请求参数说明
下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介。
| 参数 | 说明 |
| xxxxxx | SDKAppID 所在国家/地区对应的专属域名:中国:console.tim.qq.com新加坡:adminapisgp.im.qcloud.com首尔: adminapikr.im.qcloud.com东京:adminapijpn.im.qcloud.com法兰克福:adminapiger.im.qcloud.com硅谷:adminapiusa.im.qcloud.com雅加达:adminapiidn.im.qcloud.com利雅得:adminapiksa.im.qcloud.com |
| v4/group_open_http_svc/modify_group_member_info | 请求接口。 |
| sdkappid | 创建应用时即时通信 IM 控制台分配的 SDKAppID。 |
| identifier | 必须为 App 管理员账号,更多详情请参见 App 管理员。 |
| usersig | App 管理员账号生成的签名,具体操作请参见 生成 UserSig。 |
| random | 请输入随机的32位无符号整数,取值范围0 – 4294967295。 |
| contenttype | 请求格式固定值为 json。 |
五、最高调用频率
200次/秒。
六、请求包示例
·设置管理员
设置指定群成员的管理员身份。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "Role": "Admin" // 设置管理员}
·取消管理员
取消指定群成员的管理员身份。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "Role": "Member" //取消管理员}
·设置成员消息屏蔽位
·设置的指定成员消息屏蔽类型: AcceptAndNotify 代表接收并提示消息,Discard 代表不接收也不提示消息,AcceptNotNotify 代表接收消息但不提示,AcceptNotNotifyExceptAt 表示接收并提示 at 消息(仅 at 消息触发离线推送,其他消息不触发)。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "MsgFlag": "AcceptAndNotify" // AcceptAndNotify、Discard或者AcceptNotNotify、AcceptNotNotifyExceptAt 消息屏蔽类型}
·设置成员的群名片
设置的指定成员的群名片,最大不超过50个字节。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "NameCard": "鲍勃" // 群名片(选填)}
·设置成员自定义字段
设置群成员的自定义字段。AppMemberDefinedData 默认是没有的,可以通过 即时通信 IM 控制台 进行配置后使用,详见请求包字段说明表。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "AppMemberDefinedData": [ // 要操作的成员自定义字段(选填) { "Key":"MemberDefined1", // 要操作的群成员自定义字段Key "Value":"ModifyData1" // 要设置的数据内容 }, { "Key":"MemberDefined3", "Value":"ModifyData3" } ]}
·设置群成员禁言时间
设置指定的群成员禁言时间。
{ "GroupId": "@TGS#2CLUZEAEJ", // 要操作的群组(必填) "Member_Account": "bob", // 要操作的群成员(必填) "MuteTime":86400 // 指定群成员的禁言时间,单位为秒}
注意:说明:
注意:Private 群(同新版本中的 Work(好友工作群))不支持禁言群用户。
七、请求包字段说明
| 字段 | 类型 | 属性 | 说明 |
| GroupId | String | 必填 | 操作的群 ID。 |
| Member_Account | String | 必填 | 要操作的群成员。 |
| Role | String | 选填 | 成员身份,Admin/Member 分别为设置/取消管理员(不允许修改群主的身份)。 |
| MsgFlag | String | 选填 | 消息屏蔽类型。包括如下几种:AcceptAndNotify 表示接收并提示。AcceptNotNotify 表示接收不提示(不会触发离线推送)。Discard 表示屏蔽群消息(不会向客户端推送消息)。AcceptNotNotifyExceptAt 表示接收并提示 at 消息(仅 at 消息触发离线推送,其他消息不触发)。 |
| NameCard | String | 选填 | 群名片(最大不超过50个字节)。 |
| AppMemberDefinedData | Array | 选填 | 群成员维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 群组系统。 |
| TopicId | String | 选填 | 话题的 ID,若具有此选项表示在对应的话题中修改群成员资料,仅支持话题的社群适用此选项,私密话题也支持设置 Role 字段,公开话题不支持。 |
| MuteTime | Integer | 选填 | 需禁言时间,单位为秒,0表示取消禁言。 |
八、应答包体示例
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 0, "RequestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}
九、应答包字段说明
| 字段 | 类型 | 说明 |
| ActionStatus | String | 请求处理的结果:OK:表示处理成功。FAIL:表示失败。 |
| ErrorCode | Integer | 错误码:0:表示成功。非0:表示失败。 |
| ErrorInfo | String | 错误信息。 |
| RequestId | String | 本次请求的唯一标识 ID,可用于问题排查。 |
十、错误码说明
除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:
| 错误码 | 描述 |
| 10002 | 服务器内部错误,请重试。 |
| 10003 | 请求命令字非法。 |
| 10004 | 参数非法,请根据错误描述检查请求是否正确。 |
| 10007 | 操作权限不足,例如 Public 群组中普通成员尝试执行踢人操作,但只有 App 管理员才有权限。 |
| 10010 | 群组不存在,或者曾经存在过,但是目前已经被解散。 |
| 10015 | 群组 ID 非法,请检查群组 ID 是否填写正确。 |
十一、接口调试工具
通过 REST API 在线调试工具 调试本接口。
十二、参考
获取群成员详细资料(v4/group_open_http_svc/get_group_member_info)
十三、可能触发的回调
·群成员资料变更后回调