JavaScript

功能描述

搜索云端群组,用户可以通过关键词快速查找已有的群组,或发现新的群组。用户可以通过此接口快速定位现有群组,还可以通过关键词探索感兴趣的、尚未加入的群组,方便管理和参与社交圈内的群组活动。
说明:
此功能属于增值服务,需要您购买云端搜索插件,请点击 购买
搜索云端群组功能 v3.5.0 起支持。
搜索范围:根据关键词对所有群组的群名称 name 进行模糊搜索匹配, 对所有群组的 groupID 进行精准搜索匹配。
该接口获取的群列表中的资料是不完整的(仅包括群组ID groupID、群组头像 avatar、群组名称 name、群组类型 type、群组当前成员数量 memberCount、群组简介 introduction、群主ID ownerID 等),若要查询详细群资料,可参考:getGroupProfile
单次最大搜索数结果量为 100 条。
不支持直播群(TencentCloudChat.TYPES.GRP_AVCHATROOM)类型的搜索。
此接口云端限频 2次/秒, 本地接口调用默认限制 20次/5秒。

搜索云端群组

接口
chat.searchCloudGroups(options);
参数
参数 options 为 Object 类型,包含的属性值如下:
Name
Type
Description
keywordList
Array
required
关键字列表,最多支持 5 个。
keywordListMatchType
String | undefined
关键字列表匹配类型:
or:“或”关系搜索(默认)
and:“与”关系搜索
groupTypeList
Array | undefined
不传入时默认搜索所有类型群组(不支持直播群(TencentCloudChat.TYPES.GRP_AVCHATROOM)类型的搜索)。
群类型表示:
TencentCloudChat.TYPES.GRP_WORK 好友工作群
TencentCloudChat.TYPES.GRP_PUBLIC 陌生人社交群
TencentCloudChat.TYPES.GRP_MEETING 临时会议群
TencentCloudChat.TYPES.GRP_COMMUNITY 社群
cursor
String | undefined
每次搜索云端群组的起始位置。第一次搜索时不要传入 cursor,继续搜索时填入上次调用 searchCloudGroups 接口返回的 cursor 的值。
count
Number | undefined
每次搜索云端群组结果的数量,默认值为 20, 最大值为100。
返回值
Promise
Name
Type
Description
totalCount
Number
满足搜索条件的群组总数。
searchResultList
Array
满足搜索条件的群组资料 Group 列表,仅包括群组ID groupID、群组头像 avatar、群组名称 name、群组类型 type、群组当前成员数量 memberCount、群组简介 introduction、群主ID ownerID 等,能够满足群搜索结果列表的渲染需求,若要查询详细群资料,可参考:getGroupProfile
cursor
String
调用搜索接口续拉时需要填的游标。
示例
// 搜索指定关键字列表和群组类型
// - 搜索用户里出现 'test' 或 'user' ,且群组类型为 '陌生人社交群(TencentCloudChat.TYPES.GRP_PUBLIC)' 或 '好友工作群(TencentCloudChat.TYPES.GRP_WORK)' 的群组
let promise = chat.searchCloudGroups({
keywordList: ['test', 'user'],
groupTypeList: [TencentCloudChat.TYPES.GRP_PUBLIC, TencentCloudChat.TYPES.GRP_WORK],
});
promise.then(function(imResponse) {
// 搜索群组成功
const { totalCount, cursor, searchResultList } = imResponse.data;
console.log(totalCount); // 满足搜索条件的群组总数量
console.log(cursor); // 下一次云端搜索的起始位置, 如果没有表示搜索结果拉取完成
console.log(searchResultList); // 满足搜索条件的群组列表,分页返回分组结果,每页最大返回 100 条,根据传入 count 设定
for (let i = 0; i < searchResultList.length; i++) {
const groupItem = searchResultList[i];
const { groupID, name, type, avatar, memberCount, introduction, ownerID } = groupItem;
console.log(groupID); // 群组 ID
console.log(name); // 群组名称
console.log(type); // 群组类型
console.log(avatar); // 群组头像
console.log(memberCount); // 群组当前成员数量
console.log(introduction); // 群简介
console.log(ownerID); // 群主 userID
}
}).catch(function(imError) {
console.error(imError); // 搜索用户失败
});