Zoom API获取recurring webinar参会者/注册者遇错,求指导
解决循环Webinar调用Zoom API获取参会者数据的问题
问题根源
普通Webinar可直接用Webinar ID调用接口,但循环Webinar的每个场次都有独立的场次标识符(occurrence_id),必须同时传入原Webinar ID和occurrence_id才能正确获取对应场次的参会者/注册者数据,仅用原Webinar ID会触发「Webinar ID不存在」的错误。
获取occurrence_id的步骤
调用Zoom API的「列出循环Webinar场次」接口,接口路径:
GET /webinars/{webinarId}/occurrences其中
{webinarId}为你原本使用的循环Webinar的ID。接口响应中,每个场次对象(occurrence)的
id字段就是该场次的occurrence_id,同时响应还会包含场次的开始/结束时间等信息,方便匹配目标场次。
调用参会者/注册者接口的正确方式
拿到occurrence_id后,在调用获取参会者或注册者的接口时,需将occurrence_id作为查询参数传入:
获取参会者示例
接口路径:
GET /webinars/{webinarId}/participants?occurrence_id={occurrenceId}
获取注册者示例
接口路径:
GET /webinars/{webinarId}/registrants?occurrence_id={occurrenceId}
代码示例(Python)
import requests # 配置参数 ZOOM_API_TOKEN = "your_api_token_here" WEBINAR_ID = "your_recurring_webinar_id" # 1. 获取循环场次的occurrence_id occurrences_url = f"https://api.zoom.us/v2/webinars/{WEBINAR_ID}/occurrences" headers = {"Authorization": f"Bearer {ZOOM_API_TOKEN}"} response = requests.get(occurrences_url, headers=headers) occurrences = response.json().get("occurrences", []) # 筛选已结束的目标场次occurrence_id target_occurrence_id = None for occ in occurrences: if occ.get("status") == "completed": target_occurrence_id = occ.get("id") break if not target_occurrence_id: print("未找到已结束的循环场次") exit() # 2. 获取该场次的参会者数据 participants_url = f"https://api.zoom.us/v2/webinars/{WEBINAR_ID}/participants?occurrence_id={target_occurrence_id}" participants_response = requests.get(participants_url, headers=headers) participants_data = participants_response.json() print(participants_data)
注意事项
- 仅已结束的场次能获取完整参会者数据,未开始或进行中的场次无法返回有效记录。
- 确保API Token拥有对应权限:
webinar:read(访问自己的Webinar)或webinar:read:admin(访问账户下所有Webinar)。
内容的提问来源于stack exchange,提问作者YoWei
相关产品推荐
相关产品推荐

