接口描述
描述:获取某指定用户的进行中或待开始的会议列表。企业 secret 鉴权用户可查询任何该企业该用户创建的有效会议,OAuth2.0 鉴权用户只能查询通过 OAuth2.0 鉴权创建的有效会议。
请求方式:GET
接口请求域名:
https://api.meeting.qq.com/v1/meetings?userid={userid}&instanceid={instanceid}
输入参数
参数名称 | 必选 | 参数类型 | 参数描述 |
userid | 是 | String | 调用方用于标识用户的唯一 ID(企业内部请使用企业唯一用户标识;OAuth2.0 鉴权用户请使用 openId)。 |
instanceid | 是 | Integer | 用户的终端设备类型: 0:PSTN 1:PC 2:Mac 3:Android 4:iOS 5:Web 6:iPad 7:Android Pad 8:小程序 9:voip、sip 设备 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 |
pos | 否 | Integer | 分页获取用户会议列表的查询起始时间值,UNIX 秒级时间戳,只能查询开始时间在本时间之后(包含)的会议(由于存在相同开始时间的会议,所以分页查询后需要根据查询结果的 meeting_id 去重)。 因目前一次查询返回会议数量最多为20,当用户会议较多时,如果会议总数量超过20,则需要再次查询。此参数为非必选参数,默认值为0,表示从北京时间当日零点开始查询。 查询返回输出参数“remaining”不为0时,表示还有会议需要继续查询。返回参数“next_pos”的值即为下一次查询的 pos 的值。 多次调用该查询接口直到输出参数“remaining”值为0。 |
cursory | 否 | Integer | 分页获取用户会议列表,查询的会议的最后一次修改时间值,UNIX 毫秒级时间戳,分页游标。 因目前一次查询返回会议数量最多为20,当用户会议较多时,如果会议总数量超过20,则需要再次查询。此参数为非必选参数,默认值为0,表示第一次查询利用会议开始时间北京时间当日零点进行查询。 查询返回输出参数“remaining”不为0时,表示还有会议需要继续查询。返回参数“next_cursory”的值即为下一次查询的 cursory 的值。 多次调用该查询接口直到输出参数“remaining”值为0。 当只使用 pos 作为分页条件时,可能会出现查询不到第二页,数据排序出现重复数据等情况与 pos 配合使用。 |
is_show_all_sub_meetings | 否 | String | 是否显示周期性会议的所有子会议,默认值为0。 0:只显示周期性会议的第一个子会议 1:显示所有周期性会议的子会议 |
输出参数
参数名称 | 参数类型 | 参数描述 |
meeting_number | integer | 会议数量。 |
meeting_info_list | MeetingInfo 对象数组 | 会议列表。 |
next_pos | Integer | 下次查询时请求里需要携带的 pos 参数。 |
remaining | Integer | 是否还剩下会议;因目前一次查询返回会议数量最多为20,如果会议总数量超过20则此字段被置为非0,表示需要再次查询,且下次查询的“pos”参数需从本次响应的“next_pos”字段取值。 |
next_cursory | Integer | 分页获取用户会议列表,查询的会议的最后一次修改时间值,UNIX 毫秒级时间戳,分页游标。 因目前一次查询返回会议数量最多为20,当用户会议较多时,如果会议总数量超过20,则需要再次查询。此参数为非必选参数,默认值为0,表示第一次查询利用会议开始时间北京时间当日零点进行查询。 查询返回输出参数“remaining”不为0时,表示还有会议需要继续查询。返回参数“next_cursory”的值即为下一次查询的 cursory 的值。 多次调用该查询接口直到输出参数“remaining”值为0。 当只使用 pos 作为分页条件时,可能会出现查询不到第二页,数据排序出现重复数据等情况与 pos 配合使用。 |
MeetingInfo 对象
参数名称 | 参数类型 | 参数描述 |
subject | String | 会议主题。 |
meeting_id | String | 会议的唯一标识 。 |
meeting_code | String | 会议 App 的呼入号码。 |
hosts | User 对象数组 | 会议主持人的用户 ID,如果无指定,主持人将被设定为上文的 userid,即 API 调用者。 |
current_hosts | User 对象数组 | 会议当前主持人列表。 |
start_time | String | 会议开始时间戳(单位秒)。 |
end_time | String | 会议结束时间戳(单位秒)。 |
join_meeting_role | String | 查询者在会议中的角色: creator:创建者 hoster:主持人 invitee:被邀请者 |
meeting_type | Integer | 会议类型: 0:普通会议 1:周期性会议 2:微信专属会议 4:Rooms 投屏会议 5:个人会议号会议 6:网络研讨会 |
recurring_rule | RecurringRule 对象 | 周期性会议设置。 |
media_set_type | Integer | 该参数仅提供给支持混合云的企业可见,默认值为0。 0:公网会议 1:专网会议 |
has_more_sub_meeting | Integer | 0:无更多。 1:有更多子会议特例。 |
remain_sub_meetings | Integer | 剩余子会议场数。 |
current_sub_meeting_id | String | 当前子会议 ID(进行中 / 即将开始)。 |
status | String | 当前会议状态: MEETING_STATE_INVALID:非法或未知的会议状态,错误状态。 MEETING_STATE_INIT:待开始,会议预定到预定结束时间前,会议中无人。 MEETING_STATE_CANCELLED:已取消,主持人主动取消会议,待开始的会议才能取消,取消的会议无法再进入。 MEETING_STATE_STARTED:会议中,只要会议中有人即表示进行中。 MEETING_STATE_ENDED:已删除,结束时间后且会议中无人时,被主持人删除,已删除的会议无法再进入。 MEETING_STATE_NULL:无状态,过了预定结束时间,会议中无人。 MEETING_STATE_RECYCLED:已回收,过了预定开始时间30天,会议号被后台回收,无法再进入。 |
type | Integer | 会议类型: 0:预约会议类型 1:快速会议类型 |
sub_meetings | SubMeeting 对象数组 | 周期性子会议列表。 |
SubMeeting 对象
参数名称 | 参数类型 | 参数描述 |
sub_meeting_id | String | 子会议 ID。 |
status | Integer | 子会议状态: 0:默认(存在) 1:已删除 |
start_time | String | 子会议开始时间(UTC 秒)。 |
end_time | String | 子会议结束时间(UTC 秒)。 |
RecurringRule 对象
参数名称 | 必选 | 参数类型 | 参数描述 |
recurring_type | 否 | integer | 周期性会议频率,默认值为0。 0:每天 1:每周一至周五 2:每周 3:每两周 4:每月 |
until_type | 否 | integer | 结束重复类型,默认值为0。 0:按日期结束重复 1:按次数结束重复 |
until_date | 否 | integer | 结束日期时间戳,默认值为当前日期 + 7天。 |
until_count | 否 | integer | 限定会议次数(1-50次)默认值为7次。 |
Setting 对象
参数名称 | 参数类型 | 参数描述 |
mute_enable_join | Bool | 加入静音状态。 |
allow_unmute_self | Bool | 静音自解除允许 。 |
错误码列表
状态码 | 错误码 | 错误描述 |
400 | 500014 | 账号无权限。 |
400 | 190301 | 请求重放错误,请求头里的 X-TC-Timestamp 和 X-TC-Nonce 每次请求时需重新生成,不能使用和过去五分钟内相同的 timestamp 和 nonce。 |
400 | 190300 | 请求头里的时间戳参数 X-TC-Timestamp 取值与服务器当前时间差距超过5分钟,视为非法请求。 |
400 | 190004 | 参数非法,请对照接口文档检查您的参数。 |
500 | 41 | 网络错误,请稍后重试。 |
500 | 13000 | 缓存查询会议信息失败。 |
500 | 500001 | 会议号无效。 |
500 | 20000 | 请检查参数类型。 |
500 | 202007 | 成员不在会中。 |
500 | 9042 | 无权限进行该操作,建议检查操作者身份或资源归属。 |
500 | 13704 | 查询会议列表失败。 |
500 | 13703 | 查询会议失败。 |
500 | 13702 | 查询会议详情失败。 |
500 | 9108 | 用户 sdkID 认证失败。 |
500 | 960000 | 网络错误,请稍后重试。 |
500 | 190001 | 存在未注册的用户。 |
500 | 190310 | 每分钟总接口调用次数超过限制。 |
示例
示例1(单页)
输入示例
https://api.meeting.qq.com/v1/meetings?userid=tester1&instanceid=1
输出示例
{"meeting_number": 1,"next_pos": 0,"remaining": 0,"meeting_info_list": [{"subject": "tester's meeting","meeting_id": "7567173273889276131","meeting_code": "806146667","status": "MEETING_STATE_ENDED","start_time": "1572085800","end_time": "1572089400","hosts": ["tester"],"join_meeting_role": "invitee","meeting_type": 1,//周期性会议会返回以下信息"recurring_rule": {"recurring_type": 0,"until_type": 1,"until_count": 4},"has_more_sub_meetings": 0,"remain_sub_meetings": 3,"current_sub_meeting_id": "1599046220"}]}
示例2(多页)
输入示例(第一次拉取)
https://api.meeting.qq.com/v1/meetings?userid=tester1&instanceid=1
输出示例
{"meeting_number": 1,"next_pos": 1572085800,"remaining": 1,"meeting_info_list": [{"subject": "tester's meeting","meeting_id": "7567173273889276131","meeting_code": "806146667","status": "MEETING_STATE_ENDED","start_time": "1572085800","end_time": "1572089400","hosts": ["tester"],"join_meeting_role": "invitee","meeting_type": 1,//周期性会议会返回以下信息"recurring_rule": {"recurring_type": 0,"until_type": 1,"until_count": 4},"has_more_sub_meetings": 0,"remain_sub_meetings": 3,"current_sub_meeting_id": "1599046220"}]}
输入示例(第二次拉取)
https://api.meeting.qq.com/v1/meetings?userid=tester1&instanceid=1&pos=1572085800
输出示例
{"meeting_number": 1,"next_pos": 0,"remaining": 0,"meeting_info_list": [{"subject": "tester's meeting-2","meeting_id": "7567173273889276131","meeting_code": "806146667","status": "MEETING_STATE_ENDED","start_time": "1572085801","end_time": "1572089401","hosts": ["tester"],"join_meeting_role": "invitee","meeting_type": 1,//周期性会议会返回以下信息"recurring_rule": {"recurring_type": 0,"until_type": 1,"until_count": 4},"has_more_sub_meetings": 0,"remain_sub_meetings": 3,"current_sub_meeting_id": "1599046220"}]}