接口描述
描述:
支持查询网络研讨会参会成员列表。
如果会议还未开始,调用此接口查询会返回空列表。
企业 secret 鉴权用户(会议创建者)可获取任何该企业用户创建的有效会议中的参会成员,企业 secret 鉴权用户(企业超级管理员)可获取任何该企业下创建的有效会议中的参会成员,OAuth 2.0鉴权用户(会议创建者)只能获取用户通过 OAuth 2.0鉴权创建的有效会议中的参会成员。
请求方式:GET
接口请求域名:
https://api.meeting.qq.com/v1/meetings/{meeting_id}/participants?userid={userId}&sub_meeting_id=1234454
输入参数
参数名称 | 必选 | 参数类型 | 参数描述 |
meeting_id | 是 | String | 会议的唯一 ID。 |
sub_meeting_id | 否 | String | 周期性会议子会议 ID。说明:可通过查询用户的会议列表、查询会议接口获取返回的子会议 ID,即 current_sub_meeting_id;如果是周期性会议,此参数必传。 |
operator_id | 否 | String | 操作者 ID。operator_id 必须与 operator_id_type 配合使用。根据 operator_id_type 的值,operator_id 代表不同类型。 |
operator_id_type | 否 | Integer | 操作者 ID 的类型: 3:rooms_id 说明:当前仅支持 rooms_id。如操作者为企业内 userid 或 openId,请使用 userid 字段。 |
userid | 否 | String | 会议创建者的用户 ID(企业内部请使用企业唯一用户标识;OAuth 2.0鉴权用户请使用 openId)。 |
pos | 否 | int | 分页获取参会成员列表的查询起始位置值。当参会成员较多时,建议使用此参数进行分页查询,避免查询超时。此参数为非必选参数,默认值为0,从头开始查询。 设置每页返回的数量,请参考参数“size”的说明。查询返回输出参数“has_remaining”为 true,表示该会议人数较多,还有一定数量的参会成员需要继续查询。返回参数“next_pos”的值即为下一次查询的 pos 的值。多次调用该查询接口直到输出参数“has_remaining”值为 false。 |
size | 否 | int | 拉取参会成员条数,目前每页支持最大100条。 |
start_time | 否 | int | 参会时间过滤起始时间(单位秒)。说明:时间区间不允许超过31天,如果为空默认当前时间前推31天;start_time 和 end_time 都没传时最大查询时间跨度90天;对于周期性会议查询暂时不生效,请使用分页参数查询。 |
end_time | 否 | int | 参会时间过滤终止时间(单位秒)。说明:时间区间不允许超过31天,如果为空默认取当前时间;start_time 和 end_time 都没传时最大查询时间跨度90天;对于周期性会议查询暂时不生效,请使用分页参数查询。 |
输出参数
参数名称 | 参数类型 | 参数描述 |
meeting_id | String | 会议的唯一 ID。 |
meeting_code | String | 会议号码。 |
subject | String | 会议主题。 |
schedule_start_time | String | 预定会议开始时间戳(单位秒)。 |
schedule_end_time | String | 预定会议结束时间戳(单位秒)。 |
participants | Participant 对象数组 | 参会人员对象数组。 |
has_remaining | boolean | 是否还有未拉取的数据,该接口可多次拉取到的数据总量上限为5w条。 |
next_pos | int | 和“has_remaining”一起,数据量比较大的情况下支持参会成员列表的多次获取。 |
total_count | int | 当前参会总人次。 |
Participant 对象
参数名称 | 参数类型 | 参数描述 |
userid | String | 参会者用户 ID。 使用企业自建应用鉴权方式(JWT)时,该值为企业唯一用户标识。 |
ms_open_id | String | 当场会议的用户临时 ID,可用于会控操作,适用于所有用户。 |
uuid | String | 用户的身份 ID,仅适用于单场会议。 |
open_id | String | 已授权用户的 ID。 使用第三方应用鉴权方式(OAuth 2.0)时,该值为已授权用户的 open_id。 其他情况为空。 |
user_name | String | 入会用户名(base 64)。 |
is_enterprise_user | Boolean | 是否是企业内部成员。 true:企业内成员,若 userid 为空且该字段为 true 表示已离职企业成员。 false:非企业内成员。 |
phone | String | 参会者手机号 hash 值 SHA256(手机号 + "/" + secretid)。 |
join_time | String | 参会者加入会议时间戳(单位秒)。 |
left_time | String | 参会者离开会议时间戳(单位秒)。 如果参会者在会中,则该字段返回值为0。 |
instanceid | Integer | 用户的终端设备类型: 0:PSTN 1:PC 2:Mac 3:Android 4:iOS 5:Web 6:iPad 7:Android Pad 8:小程序 9:voip、sip 设备(即MRA设备) 10:linux 20:Rooms for Touch Windows 21:Rooms for Touch MacOS 22:Rooms for Touch Android 30:Controller for Touch Windows 32:Controller for Touch Android 33:Controller for Touch iOS/iPadOS |
user_role | Integer | 用户角色: 0:普通成员角色 1:创建者角色 2:主持人 3:创建者+主持人 4:游客 5:游客+主持人 6:联席主持人 7:创建者+联席主持人 |
webinar_member_role | Integer | 网络研讨会成员角色: 0:普通参会角色 1:内部嘉宾 2:外部嘉宾 3:邀请链接入会嘉宾 4:观众 |
IP | String | 用户的 IP 地址。当用户在会中时才能返回。 |
location | String | 用户的地理位置信息。当用户在会中时才能返回。 |
link_type | String | 用户的连接方式:UDP、TCP、未知,当用户在会中时才能返回。 |
join_type | Integer | 入会方式: 0:PSTN 普通用户,标准的手机或固话类型 1:普通 VOIP 用户 2:附属投屏 VOIP 3:linux sdk for VOIP 4:附属语音 PSTN 5:附属视频 PSTN 6:linux sdk for PSTN |
net | String | 网络类型:有线、WIFI、2G、3G、4G、未知。当用户在会中时才能返回。 |
app_version | String | 用户的客户端版本。当用户在会中时才能返回。 |
audio_state | Bool | 麦克风状态: true:开启 false:关闭 |
video_state | Bool | 摄像头状态: true:开启 false:关闭 |
screen_shared_state | Bool | 屏幕共享状态: true:开启 false:关闭 |
customer_data | String | 如果参会成员是通过专属链接进会。 给出用户专属字段 。 |
错误码列表
状态码 | 错误码 | 错误描述 |
400 | 9003 | 会议信息不存在。 |
400 | 190301 | 请求重放错误,请求头里的 X-TC-Timestamp 和 X-TC-Nonce 每次请求时需重新生成,不能使用和过去五分钟内相同的 timestamp 和 nonce。 |
500 | 41 | 网络错误,请稍后重试。 |
500 | 190310 | 每分钟总接口调用次数超过限制。 |
400 | 200001 | API 请求头缺失必填字段。 |
403 | 9042 | 无权限操作。 |
500 | 190001 | 存在未注册的用户。 |
400 | 500014 | 账号无权限。 |
400 | 190004 | 参数非法,请对照接口文档检查您的参数。 |
500 | 10000 | 用户信息 API 调用通用错误返回。 |
500 | 960000 | 网络错误,请稍后重试。 |
示例
示例1(单页)
输入示例
GET https://api.meeting.qq.com/v1/meetings/144115214488302892/participants?userid=owner1&size=20
输出示例
{"meeting_id":"144115214488302892","meeting_code":"746950080","subject":"Test Meeting","schedule_start_time":"1572085800","schedule_end_time":"1572089400","has_remaining":false,"participants":[{"userid":"test1","user_name":"dBVzdDE=","phone":"0A07C3D999F5E29535D809857B5C44C51B819798542B241EC286F7DC828E0C01","join_time":"1572085800","left_time":"1572089400","instanceid":1},{"userid":"test2","user_name":"dGvzdDI=","phone":"0A07C3D999F5E29535D809857B5C44C51B819798542B241EC286F7DC828E0C01","join_time":"1572085800","left_time":"1572089400","instanceid":1}]}
示例2(多页)
输入示例(第一次拉取)
GET https://api.meeting.qq.com/v1/meetings/144115214488302892/participants?userid=owner1&size=1
输出示例
{"meeting_id":"144115214488302892","meeting_code":"746950080","subject":"Test Meeting","schedule_start_time":"1572085800","schedule_end_time":"1572089400","has_remaining":true,"next_pos":5678,"participants":[{"userid":"test1","user_name":"dBVzdDE=","phone":"0A07C3D999F5E29535D809857B5C44C51B819798542B241EC286F7DC828E0C01","join_time":"1572085800","left_time":"1572089400","instanceid":1}]}
输入示例(第二次拉取)
GET https://api.meeting.qq.com/v1/meetings/144115214488302892/participants?userid=owner1&pos=5678&size=1
输出示例
{"meeting_id":"144115214488302892","meeting_code":"746950080","subject":"Test Meeting","schedule_start_time":"1572085800","schedule_end_time":"1572089400","has_remaining":false,"participants":[{"userid":"test2","user_name":"dGvzdDI=","phone":"0A07C3D999F5E29535D809857B5C44C51B819798542B241EC286F7DC828E0C01","join_time":"1572085800","left_time":"1572089400","instanceid":1}]}